Spring Boot做文件上传时出现了报错
The field file exceeds its maximum permitted size of 1048576 bytes
显示文件的大小超出了允许的范围。查看了官方文档,原来Spring Boot工程嵌入的tomcat限制了请求的文件大小默认为1MB,单次请求的文件的总数不能大于10Mb.
要更改这个默认值需要在配置文件(如application.properties)中加入两个配置.
multipart.maxFileSize = 10MB //单个文件的大小 multipart.maxRequestSize=100MB //单次请求的文件的总大小
如果是想要不限制文件上传的大小,那么就把两个值都设置为-1就行啦
后来在配置文件中加入了这段代码,被提示已经过期.后来才知道上面的代码只适用于Spring Boot 1.4以下
Spring Boot1.4版本后配置更改为:
spring.http.multipart.maxFileSize = 10MB spring.http.multipart.maxRequestSize=100MB
Spring Boot2.0之后的版本配置修改为:
spring.servlet.multipart.max-file-size = 10MB spring.servlet.multipart.max-request-size=100MB
增加一个配置类
@Configuration public class FileUploadConfiguration { @Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); // 允许上传的文件最大值 factory.setMaxFileSize(DataSize.parse("50MB")); // KB,MB /// 设置总上传数据总大小 factory.setMaxRequestSize(DataSize.parse("50MB")); return factory.createMultipartConfig(); } }