SpringBoot項(xiàng)目中報(bào)錯(cuò)The field screenShot exceeds its maximum permitted size of 1048576 bytes.的問題及解決
項(xiàng)目場景
提示:項(xiàng)目相關(guān)背景:
項(xiàng)目場景:
- 基于Spring Boot的文件上傳服務(wù),使用MinIO作為分布式文件存儲(chǔ)系統(tǒng)。
- 用戶需要上傳超過1MB的文件到MinIO存儲(chǔ)桶中。
問題描述
前端傳圖片給后端時(shí),后端服務(wù)器報(bào)錯(cuò):
Required request parameter 'examCard' for method parameter type String is not present:
文件上傳失敗,系統(tǒng)報(bào)錯(cuò)顯示文件大小超過限制。具體錯(cuò)誤信息表明:
- 當(dāng)前上傳的文件超過了1048576字節(jié)(1MB)的限制
- 錯(cuò)誤與MinIO服務(wù)無關(guān),是Spring Boot應(yīng)用層的限制
原因分析
一開始以為是圖片大小超過了minio單次上傳文件的大小,后來排查發(fā)現(xiàn)是超過了Spring Boot默認(rèn)的文件上傳限制。
Spring Boot默認(rèn)配置了嚴(yán)格的文件上傳限制:
- 默認(rèn)
max-file-size為1MB(1048576字節(jié)) - 默認(rèn)
max-request-size也為1MB - 這些限制是Spring Boot的安全機(jī)制,防止大文件上傳導(dǎo)致的服務(wù)資源耗盡
- MinIO服務(wù)本身沒有這個(gè)限制,問題出在Spring Boot應(yīng)用層
解決方案
在application.yml配置文件中增加以下配置:
spring:
servlet:
multipart:
max-file-size: 10MB # 單個(gè)文件最大大小限制
max-request-size: 100MB # 整個(gè)請(qǐng)求最大大小限制配置說明:
max-file-size:控制單個(gè)上傳文件的最大尺寸(示例設(shè)置為10MB)max-request-size:控制多文件上傳時(shí)整個(gè)請(qǐng)求的最大尺寸(示例設(shè)置為100MB)
這些值可根據(jù)實(shí)際業(yè)務(wù)需求調(diào)整
修改后需要重啟應(yīng)用生效
注意:
生產(chǎn)環(huán)境應(yīng)根據(jù)實(shí)際硬件資源和業(yè)務(wù)需求合理設(shè)置這些值,避免設(shè)置過大導(dǎo)致內(nèi)存溢出風(fēng)險(xiǎn)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 解決SpringBoot啟動(dòng)報(bào)錯(cuò):Failed?to?load?property?source?from?location?'classpath:/application.yml'問題
- SpringBoot啟動(dòng)報(bào)錯(cuò)的11個(gè)高頻問題排查與解決終極指南
- springboot報(bào)錯(cuò)Invalid?bound?statement?(not?found)的解決
- IDEA編寫SpringBoot項(xiàng)目時(shí)使用Lombok報(bào)錯(cuò)“找不到符號(hào)”的原因和解決
- SpringBoot項(xiàng)目啟動(dòng)報(bào)錯(cuò)"找不到或無法加載主類"的解決方法
相關(guān)文章
java8使用filter()取出自己所需數(shù)據(jù)
這篇文章主要介紹了java8使用filter()取出自己所需數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
JavaWeb評(píng)論功能實(shí)現(xiàn)步驟以及代碼實(shí)例
項(xiàng)目初始版本上線,有時(shí)間寫點(diǎn)東西記錄一下項(xiàng)目中的心得體會(huì),通過這個(gè)項(xiàng)目學(xué)習(xí)了很多,要寫下來的有很多,先從評(píng)論功能開始吧,下面這篇文章主要給大家介紹了關(guān)于JavaWeb評(píng)論功能實(shí)現(xiàn)步驟以及代碼的相關(guān)資料,需要的朋友可以參考下2023-01-01
Springboot自動(dòng)配置與@Configuration配置類詳解
這篇文章主要介紹了SpringBoot中的@Configuration與自動(dòng)配置,在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們在之后使用才會(huì)更加得心應(yīng)手2022-07-07
SpringBoot + Spring Cloud Consul 服務(wù)注冊和發(fā)現(xiàn)詳細(xì)解析
這篇文章主要介紹了SpringBoot + Spring Cloud Consul 服務(wù)注冊和發(fā)現(xiàn),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
mybatis插件實(shí)現(xiàn)自定義改寫表名實(shí)例代碼
在數(shù)據(jù)庫操作過程中,經(jīng)常有修改表名的需求,下面這篇文章主要給大家介紹了關(guān)于mybatis插件實(shí)現(xiàn)自定義改寫表名的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
Java 7菱形語法與泛型構(gòu)造器實(shí)例分析
這篇文章主要介紹了Java 7菱形語法與泛型構(gòu)造器,結(jié)合實(shí)例形式分析了Java菱形語法與泛型構(gòu)造器相關(guān)原理與使用技巧,需要的朋友可以參考下2019-07-07
springboot2中使用@JsonFormat注解不生效的解決
這篇文章主要介紹了springboot2中使用@JsonFormat注解不生效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

