diff --git a/x-file-storage-core/src/main/java/org/dromara/x/file/storage/core/upload/CompleteMultipartUploadActuator.java b/x-file-storage-core/src/main/java/org/dromara/x/file/storage/core/upload/CompleteMultipartUploadActuator.java index dfbec90f81175dd8d6760abe9df30361ce63a664..845142cd80bc2de103274e1e880345d13b917a23 100644 --- a/x-file-storage-core/src/main/java/org/dromara/x/file/storage/core/upload/CompleteMultipartUploadActuator.java +++ b/x-file-storage-core/src/main/java/org/dromara/x/file/storage/core/upload/CompleteMultipartUploadActuator.java @@ -52,13 +52,15 @@ public class CompleteMultipartUploadActuator { fileStorageService.listParts(_fileInfo).listParts(_fileStorage, aspectList); _pre.setPartInfoList(partInfoList.getList()); } - + // 计算并设置文件总大小 + long totalSize = _pre.getPartInfoList().stream().mapToLong(FilePartInfo::getPartSize).sum(); + _fileInfo.setSize(totalSize); _fileStorage.completeMultipartUpload(_pre); _fileRecorder.update(_fileInfo); _fileRecorder.deleteFilePartByUploadId(_fileInfo.getUploadId()); // 文件上传完成,识别文件 ContentType - if (StrUtil.isNotBlank(_fileInfo.getContentType())) { + if (StrUtil.isBlank(_fileInfo.getContentType())) { try { new Downloader(_fileInfo, aspectList, _fileStorage, Downloader.TARGET_FILE) .inputStream(in -> {