时间:2022-06-16 09:47:38 | 栏目:JAVA代码 | 点击:次
springboot配置上传文件的maxRequestSize,根据boot版本的不同会 有些差别,设置时,是相当坑的,一不注意就白设了
在application.properties中的配置为
spring.servlet.multipart.max-file-size=10Mb spring.servlet.multipart.max-request-size=100Mb
spring.http.multipart.maxFileSize=10Mb spring.http.multipart.maxRequestSize=100Mb
multipart.maxFileSize = 10Mb multipart.maxRequestSize=100Mb
第一种、直接在springboot的启动类里加入下面的代码。
在配置类中配置@Bean,注意当前配置类上需要加注解@Configuration
/**
* 文件上传配置
* @return
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大
factory.setMaxFileSize("10240KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("102400KB");
return factory.createMultipartConfig();
}
第二种、在application.properties中添加如下配置信息
配置文件直接配置,与springboot2.x版本一致
application.properties
spring.servlet.multipart.max-file-size=20MB spring.servlet.multipart.max-request-size=20MB
注意
spring.http.multipart.maxFileSize=10Mb
spring.http.multipart.maxRequestSize=10Mb
已经过期 >>>>
application.yml
spring: servlet: multipart: max-file-size: 20MB max-request-size: 20MB
maxFileSize 是单个文件大小
maxRequestSize是设置总上传的数据大小
这就可以了。
根据自己需求定义吧,只能是MB和KB两种类型,字母大小写随意,Long类型可以的
另外这是MultipartConfigFactory类中的转换,可以瞅一眼
private long parseSize(String size) {
Assert.hasLength(size, "Size must not be empty");
size = size.toUpperCase(Locale.ENGLISH);
if (size.endsWith("KB")) {
return Long.valueOf(size.substring(0, size.length() - 2)) * 1024L;
} else {
return size.endsWith("MB") ? Long.valueOf(size.substring(0, size.length() - 2)) * 1024L * 1024L : Long.valueOf(size);
}
}
第一种
在配置文件中添加配置
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB
factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
/// 设置总上传数据总大小10M
factory.setMaxRequestSize(DataSize.of(10, DataUnit.MEGABYTES));
return factory.createMultipartConfig();
}
第二种
配置文件直接配置
application.properties
spring.servlet.multipart.max-file-size=20MB spring.servlet.multipart.max-request-size=20MB
application.yml
spring: servlet: multipart: max-file-size: 20MB max-request-size: 20MB