From 1223edea2f56e5c3c0e36ea844c12ef55908e3c2 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期五, 09 五月 2025 17:33:34 +0800 Subject: [PATCH] 回款登记功能开发 --- src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java | 44 +++++++++++++++++++++----------------------- 1 files changed, 21 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java index cb1474f..da4c324 100644 --- a/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java +++ b/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java @@ -2,6 +2,8 @@ import java.io.File; import java.io.IOException; +import java.nio.file.Paths; +import java.util.Objects; import org.apache.commons.io.FilenameUtils; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.constant.Constants; @@ -9,13 +11,13 @@ import com.ruoyi.common.exception.file.FileSizeLimitExceededException; import com.ruoyi.common.exception.file.InvalidExtensionException; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.IdUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.uuid.Seq; import com.ruoyi.framework.config.RuoYiConfig; /** * 鏂囦欢涓婁紶宸ュ叿绫� - * + * * @author ruoyi */ public class FileUploadUtils @@ -23,7 +25,7 @@ /** * 榛樿澶у皬 50M */ - public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024; + public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024L; /** * 榛樿鐨勬枃浠跺悕鏈�澶ч暱搴� 100 @@ -89,7 +91,7 @@ * * @param baseDir 鐩稿搴旂敤鐨勫熀鐩綍 * @param file 涓婁紶鐨勬枃浠� - * @param extension 涓婁紶鏂囦欢绫诲瀷 + * @param allowedExtension 涓婁紶鏂囦欢绫诲瀷 * @return 杩斿洖涓婁紶鎴愬姛鐨勬枃浠跺悕 * @throws FileSizeLimitExceededException 濡傛灉瓒呭嚭鏈�澶уぇ灏� * @throws FileNameLengthLimitExceededException 鏂囦欢鍚嶅お闀� @@ -100,8 +102,8 @@ throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException, InvalidExtensionException { - int fileNamelength = file.getOriginalFilename().length(); - if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) + int fileNameLength = Objects.requireNonNull(file.getOriginalFilename()).length(); + if (fileNameLength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) { throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH); } @@ -110,10 +112,9 @@ String fileName = extractFilename(file); - File desc = getAbsoluteFile(baseDir, fileName); - file.transferTo(desc); - String pathFileName = getPathFileName(baseDir, fileName); - return pathFileName; + String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath(); + file.transferTo(Paths.get(absPath)); + return getPathFileName(baseDir, fileName); } /** @@ -121,13 +122,11 @@ */ public static final String extractFilename(MultipartFile file) { - String fileName = file.getOriginalFilename(); - String extension = getExtension(file); - fileName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension; - return fileName; + return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), + FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); } - private static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException + public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException { File desc = new File(uploadDir + File.separator + fileName); @@ -141,12 +140,12 @@ return desc; } - private static final String getPathFileName(String uploadDir, String fileName) throws IOException + public static final String getPathFileName(String uploadDir, String fileName) throws IOException { int dirLastIndex = RuoYiConfig.getProfile().length() + 1; String currentDir = StringUtils.substring(uploadDir, dirLastIndex); - String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; - return pathFileName; +// return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; + return currentDir + "/" + fileName; } /** @@ -161,7 +160,7 @@ throws FileSizeLimitExceededException, InvalidExtensionException { long size = file.getSize(); - if (DEFAULT_MAX_SIZE != -1 && size > DEFAULT_MAX_SIZE) + if (size > DEFAULT_MAX_SIZE) { throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024); } @@ -195,7 +194,6 @@ throw new InvalidExtensionException(allowedExtension, extension, fileName); } } - } /** @@ -219,7 +217,7 @@ /** * 鑾峰彇鏂囦欢鍚嶇殑鍚庣紑 - * + * * @param file 琛ㄥ崟鏂囦欢 * @return 鍚庣紑鍚� */ @@ -228,8 +226,8 @@ String extension = FilenameUtils.getExtension(file.getOriginalFilename()); if (StringUtils.isEmpty(extension)) { - extension = MimeTypeUtils.getExtension(file.getContentType()); + extension = MimeTypeUtils.getExtension(Objects.requireNonNull(file.getContentType())); } return extension; } -} \ No newline at end of file +} -- Gitblit v1.9.3