SpringBoot項(xiàng)目中報錯The field screenShot exceeds its maximum permitted size of 1048576 bytes.的問題及解決
項(xiàng)目場景
提示:項(xiàng)目相關(guān)背景:
項(xiàng)目場景:
- 基于Spring Boot的文件上傳服務(wù),使用MinIO作為分布式文件存儲系統(tǒng)。
- 用戶需要上傳超過1MB的文件到MinIO存儲桶中。
問題描述
前端傳圖片給后端時,后端服務(wù)器報錯:
Required request parameter 'examCard' for method parameter type String is not present:
文件上傳失敗,系統(tǒng)報錯顯示文件大小超過限制。具體錯誤信息表明:
- 當(dāng)前上傳的文件超過了1048576字節(jié)(1MB)的限制
- 錯誤與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ù)本身沒有這個限制,問題出在Spring Boot應(yīng)用層
解決方案
在application.yml配置文件中增加以下配置:
spring:
servlet:
multipart:
max-file-size: 10MB # 單個文件最大大小限制
max-request-size: 100MB # 整個請求最大大小限制配置說明:
max-file-size:控制單個上傳文件的最大尺寸(示例設(shè)置為10MB)max-request-size:控制多文件上傳時整個請求的最大尺寸(示例設(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)險。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于weblogic部署Java項(xiàng)目的包沖突問題的解決
這篇文章主要介紹了關(guān)于weblogic部署Java項(xiàng)目的包沖突問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
IntelliJ IDEA本地代碼提交到github網(wǎng)站不顯示與本地不同步問題的解決辦法
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA本地代碼提交到github網(wǎng)站不顯示與本地不同步問題的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
springboot如何通過自定義注解對方法參數(shù)進(jìn)行攔截驗(yàn)證
這篇文章主要介紹了springboot如何通過自定義注解對方法參數(shù)進(jìn)行攔截驗(yàn)證問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
解決Spring security5.5.7報錯Encoded password does
這篇文章主要介紹了解決Spring security5.5.7出現(xiàn)Encoded password does not look like BCrypt異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
Spring boot 連接多數(shù)據(jù)源過程詳解
這篇文章主要介紹了Spring boot 連接多數(shù)據(jù)源過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
springboot+vue實(shí)現(xiàn)??禂z像頭喊話功能的完整方案
這兩天因工作原因,需要對海康威視攝像頭進(jìn)行二次開發(fā),這篇文章主要介紹了springboot+vue實(shí)現(xiàn)??禂z像頭喊話功能的完整方案,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-03-03
Java 并發(fā)編程創(chuàng)建線程的四種方式示例詳解
本文對比Java創(chuàng)建線程的四種方式:繼承Thread類(單繼承限制)、實(shí)現(xiàn)Runnable接口(靈活推薦)、實(shí)現(xiàn)Callable接口(支持返回值)、使用線程池(最佳實(shí)踐,資源管理高效),推薦優(yōu)先使用線程池提升系統(tǒng)穩(wěn)定性與資源利用率,感興趣的朋友一起看看吧2025-09-09
JavaScript裝飾器從基礎(chǔ)到實(shí)戰(zhàn)教程
裝飾器是js中一種聲明式語法特性,用于在不修改原始代碼的情況下,動態(tài)擴(kuò)展類、方法、屬性或參數(shù)的行為,本文將從基礎(chǔ)概念入手,逐步講解裝飾器的類型、用法、進(jìn)階技巧及實(shí)戰(zhàn)場景,感興趣的朋友跟隨小編一起看看吧2025-11-11
Maven導(dǎo)入本地jar包的實(shí)現(xiàn)步驟
本文主要介紹了Maven導(dǎo)入本地jar包的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

