springboot如何配置上傳文件的maxRequestSize
配置上傳文件的maxRequestSize
springboot配置上傳文件的maxRequestSize,根據(jù)boot版本的不同會 有些差別,設(shè)置時,是相當(dāng)坑的,一不注意就白設(shè)了
在application.properties中的配置為
SpringBoot-2.0
spring.servlet.multipart.max-file-size=10Mb spring.servlet.multipart.max-request-size=100Mb
SpringBoot-1.4
spring.http.multipart.maxFileSize=10Mb spring.http.multipart.maxRequestSize=100Mb
SpringBoot-1.4之前
multipart.maxFileSize = 10Mb multipart.maxRequestSize=100Mb
設(shè)置上傳文件大小的兩種方法
springboot 1.5.X系列處理方式
第一種、直接在springboot的啟動類里加入下面的代碼。
在配置類中配置@Bean,注意當(dāng)前配置類上需要加注解@Configuration
/** ?
? ? ?* 文件上傳配置 ?
? ? ?* @return ?
? ? ?*/ ?
? ? @Bean ?
? ? public MultipartConfigElement multipartConfigElement() { ?
? ? ? ? MultipartConfigFactory factory = new MultipartConfigFactory(); ?
? ? ? ? //文件最大 ?
? ? ? ? factory.setMaxFileSize("10240KB"); //KB,MB ?
? ? ? ? /// 設(shè)置總上傳數(shù)據(jù)總大小 ?
? ? ? ? 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
已經(jīng)過期 >>>>
application.yml
?? ?spring: ?? ? ?servlet: ?? ? ? ?multipart: ?? ? ? ? ?max-file-size: 20MB ?? ? ? ? ?max-request-size: 20MB
maxFileSize 是單個文件大小
maxRequestSize是設(shè)置總上傳的數(shù)據(jù)大小
這就可以了。
根據(jù)自己需求定義吧,只能是MB和KB兩種類型,字母大小寫隨意,Long類型可以的
另外這是MultipartConfigFactory類中的轉(zhuǎn)換,可以瞅一眼
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系列配置
第一種
在配置文件中添加配置
?@Bean
? ? public MultipartConfigElement multipartConfigElement() {
? ? ? ? MultipartConfigFactory factory = new MultipartConfigFactory();
? ? ? ? //文件最大10M,DataUnit提供5中類型B,KB,MB,GB,TB
? ? ? ? factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));
? ? ? ? /// 設(shè)置總上傳數(shù)據(jù)總大小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
最后:Tomcat,Nginx等Http服務(wù)器也會對文件上傳做一定的限制,額,反正具體問題具體分析。以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)鏈表數(shù)據(jù)結(jié)構(gòu)的方法
這篇文章主要介紹了Java實(shí)現(xiàn)鏈表數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,每一個鏈表都包含多個節(jié)點(diǎn),節(jié)點(diǎn)又包含兩個部分,一個是數(shù)據(jù)域(儲存節(jié)點(diǎn)含有的信息),一個是引用域(儲存下一個節(jié)點(diǎn)或者上一個節(jié)點(diǎn)的地址),需要的朋友可以參考下2022-01-01
使用mybatis-plus分頁出現(xiàn)兩個Limit的問題解決
在使用MyBatis-Plus進(jìn)行分頁查詢時,可能會遇到查詢SQL中出現(xiàn)兩個limit語句的問題,這通常是由于在多個模塊中重復(fù)引入了MyBatis-Plus的分頁插件所導(dǎo)致的,下面就來介紹一下如何解決,感興趣的可以了解一下2024-10-10
Java后端實(shí)現(xiàn)異步編程的9種方式總結(jié)
我們?nèi)粘i_發(fā)的時候,經(jīng)常說到異步編程,比如說,在注冊接口,我們在用戶注冊成功時,用異步發(fā)送郵件通知用戶,那么實(shí)現(xiàn)異步編程一共有多少種方式呢,下面小編就來簡單講講吧2025-03-03

