|
@@ -54,7 +54,7 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
ShiwanFileUpload existFiles = getExistFiles(userId, accountId, file.getOriginalFilename(), fileType, parentId);
|
|
|
StringBuffer path = new StringBuffer();
|
|
|
path.append(downloadPath).append(DateUtils.getNowDate(DateUtils.WEB_FORMAT)).append("/").append(UUID.randomUUID().toString()).append("/");
|
|
|
- log.info("----------下载到服务器地址:{}", path.toString());
|
|
|
+ log.info("-------下载到服务器地址:{}", path.toString());
|
|
|
ShiwanFileUpload shiwanFileUpload = null;
|
|
|
String newFileUrl = FileUtil.approvalFile(file, path.toString());
|
|
|
String md5 = null;
|
|
@@ -64,24 +64,38 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
log.error("获取MD5签名失败", e);
|
|
|
}
|
|
|
if (!Check.isNull(existFiles)) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
existFiles.setSignature(md5);
|
|
|
- shiwanFileUpload = updateFile(file, existFiles);
|
|
|
+ try {
|
|
|
+ shiwanFileUpload = updateFile(file, existFiles);
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("更新文件,上传SOC异常", e);
|
|
|
+ }
|
|
|
if (!Check.isNull(shiwanFileUpload)) {
|
|
|
List<String> urlList = unzipFiles(shiwanFileUpload, path.toString(), newFileUrl);
|
|
|
saveInnerFiles(shiwanFileUpload, urlList);
|
|
|
}
|
|
|
+ long end = System.currentTimeMillis();
|
|
|
+ log.info("文件更新完成,耗时:{} ms", (end - start));
|
|
|
} else {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
ShiwanFileUpload fileUpload = new ShiwanFileUpload();
|
|
|
fileUpload.setSignature(md5);
|
|
|
fileUpload.setUserId(userId);
|
|
|
fileUpload.setAccountId(accountId);
|
|
|
fileUpload.setFileType(fileType);
|
|
|
fileUpload.setParentId(parentId);
|
|
|
- shiwanFileUpload = saveFile(file, fileUpload, uuid);
|
|
|
+ try {
|
|
|
+ shiwanFileUpload = saveFile(file, fileUpload, uuid);
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("新增文件,上传SOC异常", e);
|
|
|
+ }
|
|
|
if (!Check.isNull(shiwanFileUpload)) {
|
|
|
List<String> urlList = unzipFiles(shiwanFileUpload, path.toString(), newFileUrl);
|
|
|
saveInnerFiles(shiwanFileUpload, urlList);
|
|
|
}
|
|
|
+ long end = System.currentTimeMillis();
|
|
|
+ log.info("文件新增完成,耗时:{} ms", (end - start));
|
|
|
}
|
|
|
return shiwanFileUpload;
|
|
|
}
|
|
@@ -94,7 +108,7 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
* @throws
|
|
|
* @author ZHAOXA
|
|
|
*/
|
|
|
- private ShiwanFileUpload updateFile(MultipartFile file, ShiwanFileUpload existFiles) {
|
|
|
+ private ShiwanFileUpload updateFile(MultipartFile file, ShiwanFileUpload existFiles) throws IOException {
|
|
|
ResFileDTO resultFile = null;
|
|
|
String url = "";
|
|
|
ShiwanFileUpload fileUpload = new ShiwanFileUpload();
|
|
@@ -103,10 +117,15 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
} else {
|
|
|
url = "try-play/zip/";
|
|
|
}
|
|
|
+ InputStream inputStream = null;
|
|
|
try {
|
|
|
- resultFile = CosUtils.uploadDetailInputStreamV2(file.getInputStream(), existFiles.getCfileName(), existFiles.getFileSuffix(), file.getSize(), url);
|
|
|
+ inputStream = file.getInputStream();
|
|
|
+ resultFile = CosUtils.uploadDetailInputStreamV2(inputStream, existFiles.getCfileName(), existFiles.getFileSuffix(), file.getSize(), url);
|
|
|
+ inputStream.close();
|
|
|
} catch (IOException e) {
|
|
|
log.error("更新文件,上传COS失败", e);
|
|
|
+ } finally {
|
|
|
+ inputStream.close();
|
|
|
}
|
|
|
QueryWrapper<ShiwanFileUpload> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq("id", existFiles.getId());
|
|
@@ -125,7 +144,7 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
* @throws
|
|
|
* @author ZHAOXA
|
|
|
*/
|
|
|
- private ShiwanFileUpload saveFile(MultipartFile file, ShiwanFileUpload fileUpload, String uuid) {
|
|
|
+ private ShiwanFileUpload saveFile(MultipartFile file, ShiwanFileUpload fileUpload, String uuid) throws IOException {
|
|
|
String filename = file.getOriginalFilename();
|
|
|
ResFileDTO resultFile = null;
|
|
|
String url = "";
|
|
@@ -136,10 +155,15 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
url = "try-play/inner-file/".concat(uuid).concat("/");
|
|
|
}
|
|
|
String fileSuffix = filename.substring(filename.lastIndexOf(".") + 1).toLowerCase();
|
|
|
+ InputStream inputStream = null;
|
|
|
try {
|
|
|
- resultFile = CosUtils.uploadDetailInputStream(file.getInputStream(), filename, fileSuffix, file.getSize(), url);
|
|
|
+ inputStream = file.getInputStream();
|
|
|
+ resultFile = CosUtils.uploadDetailInputStream(inputStream, filename, fileSuffix, file.getSize(), url);
|
|
|
+ inputStream.close();
|
|
|
} catch (IOException e) {
|
|
|
log.error("上传COS异常", e);
|
|
|
+ } finally {
|
|
|
+ inputStream.close();
|
|
|
}
|
|
|
if (!Check.isNull(resultFile)) {
|
|
|
fileUpload.setCfileName(resultFile.getCFileName());
|
|
@@ -206,6 +230,7 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
* @author ZHAOXA
|
|
|
*/
|
|
|
private List<String> unzipFiles(ShiwanFileUpload fileUpload, String path, String innerZipPath) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
List<String> urlList = new ArrayList<>();
|
|
|
//下载到本地服务器
|
|
|
if (Check.isNull(innerZipPath)) {
|
|
@@ -251,6 +276,8 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
log.error("解压原zip文件失败 ", e);
|
|
|
}
|
|
|
deletelocalFiles(innerZipPath);
|
|
|
+ long end = System.currentTimeMillis();
|
|
|
+ log.info("文件解压完成,耗时:{} ms", (end - start));
|
|
|
return urlList;
|
|
|
}
|
|
|
|
|
@@ -304,7 +331,11 @@ public class ShiwanFileUploadServiceImpl extends ServiceImpl<ShiwanFileUploadMap
|
|
|
log.error("获取MD5签名失败", e);
|
|
|
}
|
|
|
mulFileByPath = FileUtil.getMulFileByPath(url);
|
|
|
- saveFile(mulFileByPath, shiwanFileUpload, newZipEntity.getCfileName());
|
|
|
+ try {
|
|
|
+ saveFile(mulFileByPath, shiwanFileUpload, newZipEntity.getCfileName());
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("新增内部文件,上传SOC异常", e);
|
|
|
+ }
|
|
|
deletelocalFiles(url);
|
|
|
}
|
|
|
}
|