天天看點

Springboot2.X 檔案上傳的大小限制

1. 在yml中配置上傳大小的限制,如下:

spring:
  servlet:
    multipart:
      max-file-size: 512000     # 檔案上傳大小限制為500kb
      max-request-size: 512000  # 請求大小限制為500kb
      

2. 配置全局異常捕獲:

@RestControllerAdvice
public class CustomExceptionHandler {

    // 上傳檔案超過500k,捕獲異常:MaxUploadSizeExceededException
    @ExceptionHandler(MaxUploadSizeExceededException.class)
    public IMOOCJSONResult handlerMaxUploadFile(MaxUploadSizeExceededException ex) {
        return IMOOCJSONResult.errorMsg("檔案上傳大小不能超過500k,請壓縮圖檔或者降低圖檔品質再上傳!");
    }
}      

3. 測試結果:

  <1>. 小于500KB的,沒問題可以上傳成功;

  <2>. 大于500KB的,但是小于2M的,會被攔截,測試成功;

  <3>. 大于2M的檔案,上傳直接沒有反應,伺服器沒有報錯沒有響應,很郁悶。這個時候測試失敗

3.3 的解決方案,這問題主要由于tomcat的的檔案大小限制,超過了預設的開銷大小,就直接取消這個使用者請求了,限制了你的通路,這沒毛病,隻不過沒有任何的提示(因為伺服器預設你的請求是惡意請求,就直接中斷了,不給你回應,這本質是好意~),如果需要提示,則需要再次在yml中新增一個配置項,如下設定-1或者100MB即可

server:
  tomcat:
    max-swallow-size: -1  # tomcat預設大小2M,超過2M的檔案不會被捕獲,需要調整此處大小為100MB或者-1即可
      
Springboot2.X 檔案上傳的大小限制
Springboot2.X 檔案上傳的大小限制

官網itzixi.com

微信公衆号:BeJavaGod

新浪微網誌

知乎

簡書

cnblogs

今日頭條

豆瓣

--> 同步更新

Springboot2.X 檔案上傳的大小限制
Springboot2.X 檔案上傳的大小限制
Springboot2.X 檔案上傳的大小限制