1. 程式人生 > 實用技巧 >springboot 上傳檔案10M限制解決辦法

springboot 上傳檔案10M限制解決辦法

簡單記錄關於在分散式專案學習中的關於spring設定上傳檔案大小為10M的過程

  1. 出現問題 exceedMaxXXX ,百度查詢解決辦法。找到下面的方法.在application.properties或者application.yml中加入對應

# 最大支援檔案大小
spring.servlet.multipart.max-file-size=100MB
# 最大支援請求大小
spring.servlet.multipart.max-request-size=100MB
  1. 測試發現並沒有解決問題,在stackflow中找到的解決思路,除了設定上面的內容外,還需要設定tomcat的處理記憶體大小(在報錯中也有提及)

// 設定tomcat的吞吐量
server.tomcat.max-swallow-size = 100MB
  1. 設定之後問題還是存在,抓破腦殼找問題,想到自己是分散式專案,單個服務配置了,閘道器gateway還是沒變,連忙也配置上。

spring:
application:
name: gateway
servlet: // 就是這個地方
multipart:
# 最大支援檔案大小
max-file-size: 100MB
# 最大支援請求大小
max-request-size: 100MB
# tomcat:
# max-swallow-size: 100MB
cloud:
gateway:
routes:
- id: system
uri: lb://system
predicates:
- Path=/system/**
- id: business
# uri: http://127.0.0.1:9002
uri: lb://business
predicates:
- Path=/business/**
- id: file
# file和gateway使用的是同一個模組gateway的頻寬,各自的頻寬沒有影響,但是整體gateway的頻寬有影響,
# 所以在實際的開發專案的時候,為了更好的使用者體驗,一般會單獨為大頻寬的file模組增加一個路由gateway
uri: http://127.0.0.1:9003
predicates:
- Path=/file/**
  1. 配置好之後發現還是錯誤,這,,,,,,,,,繼續看程式碼,發現自己把兩個server和spring下面的servlet弄混了。將改配置到spring的servlet的配置弄到了server下。改回來之後,除錯成功。

spring:
application:
name: gateway
servlet:
multipart:
# 最大支援檔案大小
max-file-size: 100MB
# 最大支援請求大小
max-request-size: 100MB
# tomcat:
# max-swallow-size: 100MB
server:
#路由最重要 所以最先開始
port: 9000
# servlet:
# multipart: 錯誤的位置
# # 最大支援檔案大小
# max-file-size: 100MB
# # 最大支援請求大小
# max-request-size: 100MB
# # tomcat:
# # max-swallow-size: 100MB
  1. 結語:這次經歷給我什麼經驗呢,瞭解了相關知識。其他的話emmmmm~~~憋不出大道理,繼續學習了。