项目使用的是Spring Boot 、Spring Cloud,上传附件报超出自带tomacat限制大小(默认1M)
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException
解决方案
(1)在配置文件(application.properties)加入如下代码
spring.http.spring.servlet.multipart.maxFileSize = 10Mb
spring.http.spring.servlet.multipart.maxRequestSize=100Mb
maxFileSize 单个数据大小
maxRequestSize 是总数据大小
(2)把如下代码放在启动类上,并在类上加入@Configuration
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 单个数据大小
factory.setMaxFileSize("10240KB"); // KB,MB
/// 总上传数据大小
factory.setMaxRequestSize("102400KB");
return factory.createMultipartConfig();
}
PS:若是有网关之类的中转,需在网关中也加入如上配置。
在SpringBoot项目中,
配置spring.http.multipart.maxFileSize用于限定最大文件上传大小。
但是,SpringBoot版本不同,关于这一块的配置也不相同。
(1)(1)、Spring Boot 1.3 版本:
multipart.maxFileSize
(1)(2)、Spring Boot 1.4 版本和 1.5 版本:
spring.http.multipart.maxFileSize
(1)(3)、Spring Boot 2.0 版本:
spring.servlet.multipart.maxFileSize
以上,要注意1.4、1.5版本和2.0版本的区别,不然会一直提示无效。
(1)(4)、application.yml 配置示例:
spring:
servlet:
multipart:
enabled: true
max-file-size: -1