Browse Source

文件上传大小限制100M

shiqian 3 years ago
parent
commit
f8113e494d

+ 8 - 2
boman-modules/boman-file/src/main/java/com/boman/file/service/LocalSysFileServiceImpl.java

@@ -66,6 +66,12 @@ public class LocalSysFileServiceImpl implements ISysFileService
     @Value("${file.path}")
     private String localFilePath;
 
+    /**
+     * 上传文件大小设置
+     */
+    @Value("${file.maxSize}")
+    public long maxSize;
+
     /**
      * 本地文件上传接口
      * 
@@ -75,7 +81,7 @@ public class LocalSysFileServiceImpl implements ISysFileService
      */
     @Override
     public List<String> uploadFile(MultipartFile file) throws Exception {
-        String name = FileUploadUtils.upload(localFilePath, file);
+        String name = FileUploadUtils.upload(localFilePath, file, maxSize);
         String absolutePath = localFilePath + "\\" + name;
         String staticUrl = domain + localFilePrefix + name;
         LOGGER.info("上传静态路径路径为: {}, 绝对路径为: {}, 原文件名称: {}", staticUrl, absolutePath, file.getOriginalFilename());
@@ -91,7 +97,7 @@ public class LocalSysFileServiceImpl implements ISysFileService
     @Override
     public List<String>  uploadFileBase64(String base64) throws IOException {
         MultipartFile multipartFile = FileUploadUtils.base64ToMultipart(base64);
-        String name = FileUploadUtils.upload(localFilePath, multipartFile);
+        String name = FileUploadUtils.upload(localFilePath, multipartFile, maxSize);
         String absolutePath = localFilePath + "\\" + name;
         String staticUrl = domain + localFilePrefix + name;
         LOGGER.info("上传静态路径路径为: {}, 绝对路径为: {}", staticUrl, absolutePath);

+ 9 - 8
boman-modules/boman-file/src/main/java/com/boman/file/utils/FileUploadUtils.java

@@ -22,7 +22,7 @@ public class FileUploadUtils
     /**
      * 默认大小 50M
      */
-    public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;
+//    public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;
 
     /**
      * 默认的文件名最大长度 100
@@ -37,11 +37,11 @@ public class FileUploadUtils
      * @return 文件名称
      * @throws IOException
      */
-    public static final String upload(String baseDir, MultipartFile file) throws IOException
+    public static final String upload(String baseDir, MultipartFile file, long maxSize) throws IOException
     {
         try
         {
-            return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
+            return upload(baseDir, file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, maxSize);
         }
         catch (Exception e)
         {
@@ -55,13 +55,14 @@ public class FileUploadUtils
      * @param baseDir 相对应用的基目录
      * @param file 上传的文件
      * @param allowedExtension 上传文件类型
+     * @param maxSize 上传文件的大小限制
      * @return 返回上传成功的文件名
      * @throws FileSizeLimitExceededException 如果超出最大大小
      * @throws FileNameLengthLimitExceededException 文件名太长
      * @throws IOException 比如读写文件出错时
      * @throws InvalidExtensionException 文件校验异常
      */
-    public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)
+    public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension, long maxSize)
             throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
             InvalidExtensionException
     {
@@ -71,7 +72,7 @@ public class FileUploadUtils
             throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
         }
 
-        assertAllowed(file, allowedExtension);
+        assertAllowed(file, allowedExtension, maxSize);
 
         String fileName = extractFilename(file);
 
@@ -119,13 +120,13 @@ public class FileUploadUtils
      * @throws FileSizeLimitExceededException 如果超出最大大小
      * @throws InvalidExtensionException 文件校验异常
      */
-    public static final void assertAllowed(MultipartFile file, String[] allowedExtension)
+    public static final void assertAllowed(MultipartFile file, String[] allowedExtension, long maxSize)
             throws FileSizeLimitExceededException, InvalidExtensionException
     {
         long size = file.getSize();
-        if (DEFAULT_MAX_SIZE != -1 && size > DEFAULT_MAX_SIZE)
+        if (maxSize != -1 && size > maxSize)
         {
-            throw new FileSizeLimitExceededException(DEFAULT_MAX_SIZE / 1024 / 1024);
+            throw new FileSizeLimitExceededException(maxSize / 1024 / 1024);
         }
 
         String fileName = file.getOriginalFilename();