项目场景:
环境:win10
idea2017
springboot
问题描述:
上传文件一直报错,但是我清晰地记得我的接口是好的
然后提示这个瓜娃子东西,让我怀疑我的配置是否正确
Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
原因分析:
别扯多的 就是你光配置这个是没用的,仍然会导致你上传文件限制为1M
server:
server:
tomcat:
max-http-form-post-size: -1
port: 9090
servlet:
multipart:
enabled: true
max-file-size: 200MB
max-request-size: 200MB
解决方案:
方案一
步骤1.yml配置
server:
server:
tomcat:
max-http-form-post-size: -1
port: 9090
servlet:
multipart:
enabled: true
max-file-size: 200MB
max-request-size: 200MB
步骤2.添加一个Config类
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.util.unit.DataSize;
import javax.servlet.MultipartConfigElement;
//@Configuration
public class UploadFileConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大20M
factory.setMaxFileSize(DataSize.ofMegabytes(20));
//factory.setMaxFileSize(DataSize.parse("100MB"));
// 设置总上传数据总大小200M
factory.setMaxRequestSize(DataSize.parse("200MB"));
return factory.createMultipartConfig();
}
}
然后重启解决。