springboot文件上傳時(shí)maxPostSize設(shè)置大小失效問題及解決
springboot文件上傳時(shí)maxPostSize設(shè)置大小失效
報(bào)錯(cuò)信息
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
該配置嘗試無(wú)效,百度說是版本問題,核對(duì)過后發(fā)現(xiàn)無(wú)誤
servlet: ?? ?multipart: ?? ? ?enabled: true ?? ? ?max-file-size: 1000MB ?? ? ?max-request-size: 1000MB
解決辦法
因?yàn)槲疫@里上傳是傳圖片,圖片以base64形式攜帶在請(qǐng)求參數(shù)中,form表單的形式提交,故懷疑可能是請(qǐng)求參數(shù)大小被限制了,于是添加以下配置
#注意這是server??!不是上面的servlet,別看錯(cuò)了。。。 server: ? tomcat: ? ? max-http-post-size: 100MB ?#請(qǐng)求參數(shù)長(zhǎng)度 ?? ?max-http-form-post-size: 100MB #form表單長(zhǎng)度
重啟解決
springboot設(shè)置文件上傳大小限制
問題
SpringBoot默認(rèn)上傳文件大小不能超過1MB,超過之后會(huì)報(bào)以下異常:
org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
解決方法
第一種解決方案:
增加Bean配置,注意當(dāng)前類上需要加注解@Configuration,不然掃不到就不會(huì)起作用了;一般配置放在啟動(dòng)類中就可以。
/** ? ?* 文件上傳配置 ? ?* @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è)置即可:
# 單個(gè)文件大?。∕b和Kb都可以) spring.servlet.multipart.maxFileSize=30MB # 總上傳的數(shù)據(jù)大小 spring.servlet.multipart.maxRequestSize=30MB
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java java.sql.Timestamp時(shí)間戳案例詳解
這篇文章主要介紹了Java java.sql.Timestamp時(shí)間戳案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Spring Cloud Ribbon客戶端詳細(xì)介紹
Spring Cloud Ribbon 是一套基于 Netflix Ribbon 實(shí)現(xiàn)的客戶端負(fù)載均衡和服務(wù)調(diào)用工具。通過Spring Cloud的封裝,可以讓我們輕松地將面向服務(wù)的REST模版請(qǐng)求自動(dòng)轉(zhuǎn)換成客戶端負(fù)載均衡的服務(wù)調(diào)用2022-09-09Java實(shí)現(xiàn)自動(dòng)生成縮略圖片
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)自動(dòng)生成縮略圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Spring MVC Annotation驗(yàn)證的方法
這篇文章主要介紹了Spring MVC Annotation驗(yàn)證的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03使用Feign調(diào)用時(shí)添加驗(yàn)證信息token到請(qǐng)求頭方式
這篇文章主要介紹了使用Feign調(diào)用時(shí)添加驗(yàn)證信息token到請(qǐng)求頭方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03使用SpringAOP實(shí)現(xiàn)公共字段填充功能
在新增員工或者新增菜品分類時(shí)需要設(shè)置創(chuàng)建時(shí)間、創(chuàng)建人、修改時(shí)間、修改人等字段,在編輯員工或者編輯菜品分類時(shí)需要設(shè)置修改時(shí)間、修改人等字段,這些字段屬于公共字段,本文將給大家介紹使用SpringAOP實(shí)現(xiàn)公共字段填充功能,需要的朋友可以參考下2024-08-08Java 確保某個(gè)Bean類被最后執(zhí)行的幾種實(shí)現(xiàn)方式
這篇文章主要介紹了Java 確保某個(gè)BeanDefinitionRegistryPostProcessor Bean被最后執(zhí)行的幾種實(shí)現(xiàn)方式,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03淺談SpringBoot中properties、yml、yaml的優(yōu)先級(jí)
優(yōu)先級(jí)低的配置會(huì)被先加載,所以優(yōu)先級(jí)高的配置會(huì)覆蓋優(yōu)先級(jí)低的配置,本文就來介紹一下SpringBoot中properties、yml、yaml的優(yōu)先級(jí),感興趣的可以了解一下2023-08-08JAVA中HTTP基本認(rèn)證(Basic Authentication)實(shí)現(xiàn)
HTTP 基本認(rèn)證是一種簡(jiǎn)單的認(rèn)證方法,本文主要介紹了JAVA中HTTP基本認(rèn)證(Basic Authentication),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07