diff --git a/src/main/java/com/youlai/boot/shared/file/service/impl/AliyunFileService.java b/src/main/java/com/youlai/boot/shared/file/service/impl/AliyunFileService.java index f92fe487..004475fd 100644 --- a/src/main/java/com/youlai/boot/shared/file/service/impl/AliyunFileService.java +++ b/src/main/java/com/youlai/boot/shared/file/service/impl/AliyunFileService.java @@ -62,8 +62,10 @@ public class AliyunFileService implements FileService { @SneakyThrows public FileInfo uploadFile(MultipartFile file) { + // 获取文件名称 + String originalFilename = file.getOriginalFilename(); // 生成文件名(日期文件夹) - String suffix = FileUtil.getSuffix(file.getOriginalFilename()); + String suffix = FileUtil.getSuffix(originalFilename); String uuid = IdUtil.simpleUUID(); String fileName = DateUtil.format(LocalDateTime.now(), "yyyyMMdd") + "/" + uuid + "." + suffix; // try-with-resource 语法糖自动释放流 @@ -82,7 +84,7 @@ public class AliyunFileService implements FileService { // 获取文件访问路径 String fileUrl = "https://" + bucketName + "." + endpoint + "/" + fileName; FileInfo fileInfo = new FileInfo(); - fileInfo.setName(fileName); + fileInfo.setName(originalFilename); fileInfo.setUrl(fileUrl); return fileInfo; } diff --git a/src/main/java/com/youlai/boot/shared/file/service/impl/LocalFileService.java b/src/main/java/com/youlai/boot/shared/file/service/impl/LocalFileService.java index 46740dc4..5cd0b97f 100644 --- a/src/main/java/com/youlai/boot/shared/file/service/impl/LocalFileService.java +++ b/src/main/java/com/youlai/boot/shared/file/service/impl/LocalFileService.java @@ -44,11 +44,14 @@ public class LocalFileService implements FileService { */ @Override public FileInfo uploadFile(MultipartFile file) { + // 获取文件名 + String originalFilename = file.getOriginalFilename(); + // 获取文件后缀 + String suffix = FileUtil.getSuffix(originalFilename); + // 生成uuid + String fileName = IdUtil.simpleUUID()+ "." + suffix;; // 生成文件名(日期文件夹) - String suffix = FileUtil.getSuffix(file.getOriginalFilename()); - String uuid = IdUtil.simpleUUID(); String folder = DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATE_PATTERN); - String fileName = uuid + "." + suffix; String filePrefix = storagePath.endsWith(File.separator) ? storagePath : storagePath + File.separator; // try-with-resource 语法糖自动释放流 try (InputStream inputStream = file.getInputStream()) { @@ -61,7 +64,7 @@ public class LocalFileService implements FileService { // 获取文件访问路径,因为这里是本地存储,所以直接返回文件的相对路径,需要前端自行处理访问前缀 String fileUrl = File.separator + folder + File.separator + fileName; FileInfo fileInfo = new FileInfo(); - fileInfo.setName(fileName); + fileInfo.setName(originalFilename); fileInfo.setUrl(fileUrl); return fileInfo; } diff --git a/src/main/java/com/youlai/boot/shared/file/service/impl/MinioFileService.java b/src/main/java/com/youlai/boot/shared/file/service/impl/MinioFileService.java index 59c7e576..030ff1aa 100644 --- a/src/main/java/com/youlai/boot/shared/file/service/impl/MinioFileService.java +++ b/src/main/java/com/youlai/boot/shared/file/service/impl/MinioFileService.java @@ -7,8 +7,8 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.youlai.boot.common.exception.BusinessException; import com.youlai.boot.common.result.ResultCode; -import com.youlai.boot.shared.file.service.FileService; import com.youlai.boot.shared.file.model.FileInfo; +import com.youlai.boot.shared.file.service.FileService; import io.minio.*; import io.minio.http.Method; import jakarta.annotation.PostConstruct; @@ -21,7 +21,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; -import java.io.File; import java.io.InputStream; import java.time.LocalDateTime; @@ -86,8 +85,10 @@ public class MinioFileService implements FileService { // 创建存储桶(存储桶不存在),如果有搭建好的minio服务,建议放在init方法中 createBucketIfAbsent(bucketName); + // 文件原生名称 + String originalFilename = file.getOriginalFilename(); // 文件后缀 - String suffix = FileUtil.getSuffix(file.getOriginalFilename()); + String suffix = FileUtil.getSuffix(originalFilename); // 文件夹名称 String dateFolder = DateUtil.format(LocalDateTime.now(), "yyyyMMdd"); // 文件名称 @@ -123,7 +124,7 @@ public class MinioFileService implements FileService { } FileInfo fileInfo = new FileInfo(); - fileInfo.setName(fileName); + fileInfo.setName(originalFilename); fileInfo.setUrl(fileUrl); return fileInfo; } catch (Exception e) {