springboot如何配置上傳文件的maxRequestSize
配置上傳文件的maxRequestSize
springboot配置上傳文件的maxRequestSize,根據(jù)boot版本的不同會 有些差別,設(shè)置時,是相當坑的,一不注意就白設(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,注意當前配置類上需要加注解@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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot多數(shù)據(jù)源讀寫分離的自定義配置問題及解決方法
這篇文章主要介紹了SpringBoot多數(shù)據(jù)源讀寫分離的自定義配置,我們可以通過自定義配置數(shù)據(jù)庫配置類來解決這個問題,方式有很多,不同的業(yè)務(wù)采用的方式也不同,下面我簡單的介紹我們項目的使用的方法2022-06-06淺談web服務(wù)器項目中靜態(tài)請求和動態(tài)請求處理
這篇文章主要介紹了淺談web服務(wù)器項目中靜態(tài)請求和動態(tài)請求處理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07SpringBoot概述及在idea中創(chuàng)建方式
SpringBoot提供了一種快速使用Spring的方式,基于約定大于配置的思想,可以讓開發(fā)人員不必在配置與邏輯業(yè)務(wù)之間進行思維的切換,這篇文章主要介紹了SpringBoot概述及在idea中創(chuàng)建方式,需要的朋友可以參考下2022-09-09Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn)
本文主要介紹了Mybatis特殊字符轉(zhuǎn)義查詢實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02