版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29229567/article/details/84939996
SpringBoot:修改上传文件大小的限制
Spring Boot默认文件上传大小为2M,当多文档,大文档上传时总是出现文件大小超出限度的问题。解决方法如下:
方法一、在application.properties添加配置项
# Single file max size 即单个文件大小
multipart.maxFileSize=50Mb
# All files max size 即总上传的数据大小
multipart.maxRequestSize=50Mb
方法二、在启动类中添加配置Bean
import javax.servlet.MultipartConfigElement;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@SpringBootApplication
public class App
{
public static void main( String[] args ) {
SpringApplication.run(App.class, args);
}
/**
* 文件上传配置
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//单个文件最大
factory.setMaxFileSize("20480KB");
/// 设置总上传数据总大小
factory.setMaxRequestSize("204800KB");
return factory.createMultipartConfig();
}
}
在上述两种方法中,设置大小时,Long,Kb,MB均可!MultipartConfigFactory类中的转换规则如下:
private long parseSize(String size) {
Assert.hasLength(size, "Size must not be empty");
size = size.toUpperCase();
return size.endsWith("KB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L:(size.endsWith("MB")?Long.valueOf(size.substring(0, size.length() - 2)).longValue() * 1024L * 1024L:Long.valueOf(size).longValue());
}
注意:上面的设置仅针对后台,在具体的项目中可能还需要在前端中进行相应的设置,比如:Nginx。