配置上传文件的maxRequestSize
springboot配置上传文件的maxRequestSize,根据boot版本的不同会 有些差别,设置时,是相当坑的,一不注意就白设了
在application.properties中的配置为
SpringBoot-2.0
1
2
|
spring.servlet.multipart.max-file-size=10Mb spring.servlet.multipart.max-request-size=100Mb |
SpringBoot-1.4
1
2
|
spring.http.multipart.maxFileSize=10Mb spring.http.multipart.maxRequestSize=100Mb |
SpringBoot-1.4之前
1
2
|
multipart.maxFileSize = 10Mb multipart.maxRequestSize=100Mb |
设置上传文件大小的两种方法
springboot 1.5.X系列处理方式
第一种、直接在springboot的启动类里加入下面的代码。
在配置类中配置@Bean,注意当前配置类上需要加注解@Configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/** * 文件上传配置 * @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
1
2
|
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
1
2
3
4
5
|
spring: servlet: multipart: max-file-size: 20MB max-request-size: 20MB |
maxFileSize 是单个文件大小
maxRequestSize是设置总上传的数据大小
这就可以了。
根据自己需求定义吧,只能是MB和KB两种类型,字母大小写随意,Long类型可以的
另外这是MultipartConfigFactory类中的转换,可以瞅一眼
1
2
3
4
5
6
7
8
9
|
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); } } |
Springboot 2.X系列配置
第一种
在配置文件中添加配置
1
2
3
4
5
6
7
8
9
|
@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
1
2
|
spring.servlet.multipart.max-file-size=20MB spring.servlet.multipart.max-request-size=20MB |
application.yml
1
2
3
4
5
|
spring: servlet: multipart: max-file-size: 20MB max-request-size: 20MB |
最后:Tomcat,Nginx等Http服务器也会对文件上传做一定的限制,额,反正具体问题具体分析。以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/ncyhl/p/11212679.html