背景:
SpringBoot接口上传文件出现:上传限制
Maximum upload size exceeded; nested exception is java.lang.IllegalStateException:org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (22634727) exceeds the configured maximum (12582912)",
原因分析:
springBoot项目自带的tomcat对上传的文件大小有默认的限制,SpringBoot官方文档中展示:每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb。
解决方案:
方案一:
修改配置文件:在 【application.xml】配置文件中加入如下代码
# maxFileSize 单个数据大小
spring.servlet.multipart.maxFileSize=10MB
# maxRequestSize 是总数据大小
spring.servlet.multipart.maxRequestSize=100MB
方案二:
编写配置类:
/**
* 文件上传配置类
*/
@Configuration
public class FileUploadConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 单个数据大小
factory.setMaxFileSize("102400KB"); // KB,MB
// 总上传数据大小
factory.setMaxRequestSize("1024000KB");
return factory.createMultipartConfig();
}
}