springboot文件上傳時maxPostSize設(shè)置大小失效問題及解決
springboot文件上傳時maxPostSize設(shè)置大小失效
報錯信息
Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
Caused by: java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
該配置嘗試無效,百度說是版本問題,核對過后發(fā)現(xiàn)無誤
servlet: ?? ?multipart: ?? ? ?enabled: true ?? ? ?max-file-size: 1000MB ?? ? ?max-request-size: 1000MB
解決辦法
因為我這里上傳是傳圖片,圖片以base64形式攜帶在請求參數(shù)中,form表單的形式提交,故懷疑可能是請求參數(shù)大小被限制了,于是添加以下配置
#注意這是server?。〔皇巧厦娴膕ervlet,別看錯了。。。 server: ? tomcat: ? ? max-http-post-size: 100MB ?#請求參數(shù)長度 ?? ?max-http-form-post-size: 100MB #form表單長度
重啟解決
springboot設(shè)置文件上傳大小限制
問題
SpringBoot默認(rèn)上傳文件大小不能超過1MB,超過之后會報以下異常:
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
解決方法
第一種解決方案:
增加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/application.yml)中加入如下設(shè)置即可:
# 單個文件大?。∕b和Kb都可以) spring.servlet.multipart.maxFileSize=30MB # 總上傳的數(shù)據(jù)大小 spring.servlet.multipart.maxRequestSize=30MB
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java java.sql.Timestamp時間戳案例詳解
這篇文章主要介紹了Java java.sql.Timestamp時間戳案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Spring Cloud Ribbon客戶端詳細(xì)介紹
Spring Cloud Ribbon 是一套基于 Netflix Ribbon 實現(xiàn)的客戶端負(fù)載均衡和服務(wù)調(diào)用工具。通過Spring Cloud的封裝,可以讓我們輕松地將面向服務(wù)的REST模版請求自動轉(zhuǎn)換成客戶端負(fù)載均衡的服務(wù)調(diào)用2022-09-09使用Feign調(diào)用時添加驗證信息token到請求頭方式
這篇文章主要介紹了使用Feign調(diào)用時添加驗證信息token到請求頭方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Java 確保某個Bean類被最后執(zhí)行的幾種實現(xiàn)方式
這篇文章主要介紹了Java 確保某個BeanDefinitionRegistryPostProcessor Bean被最后執(zhí)行的幾種實現(xiàn)方式,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03淺談SpringBoot中properties、yml、yaml的優(yōu)先級
優(yōu)先級低的配置會被先加載,所以優(yōu)先級高的配置會覆蓋優(yōu)先級低的配置,本文就來介紹一下SpringBoot中properties、yml、yaml的優(yōu)先級,感興趣的可以了解一下2023-08-08JAVA中HTTP基本認(rèn)證(Basic Authentication)實現(xiàn)
HTTP 基本認(rèn)證是一種簡單的認(rèn)證方法,本文主要介紹了JAVA中HTTP基本認(rèn)證(Basic Authentication),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07