报错:
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (10935680) exceeds the configured maximum (10485760)
分析:
spring boot 内置tomcat默认的上传文件大小为:1M
通过设置application.yml文件属性更改文件大小限制如图:
spring:
servlet:
multipart:
enabled: true #是否启用http上传处理
max-request-size: 100MB #设置总上传的数据大小,最大请求文件的大小
max-file-size: 20MB #设置单个文件最大长度
file-size-threshold: 20MB #当文件达到多少时进行磁盘写入Spring Boot 1.4.x或者之后,详见官方文档:spring boot 1.4
spring.http.multipart.maxFileSize=100Mb
spring.http.multipart.maxRequestSize=1000Mb另外一种手动注入bean方式。在启动application类中添加@Bean或者新建Config类
@Configuration
public class UploadConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//单个文件最大
factory.setMaxFileSize("20480KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("1024000KB");
return factory.createMultipartConfig();
}
}如果nginx也设置了上传文件大小,会报错误:(Request Entity Too Large)。
打开nginx主配置文件nginx.conf,一般在/usr/local/nginx/conf/nginx.conf这个位置,找到http{}段并修改以下内容:

参考:
https://blog.csdn.net/qq_33243189/article/details/89631495