Springboot设置文件上传大小限制
作者:mmseoamin日期:2023-12-11

Spring Boot做文件上传时出现了报错

The field file exceeds its maximum permitted size of 1048576 bytes

显示文件的大小超出了允许的范围。查看了官方文档,原来Spring Boot工程嵌入的tomcat限制了请求的文件大小默认为1MB,单次请求的文件的总数不能大于10Mb.

方案1:

要更改这个默认值需要在配置文件(如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 

方案2:【推荐】

增加一个配置类

@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();
	}
}