問題
springcloud微服務網關:gateway;
新建的文件上傳服務註冊到網關上,文件上傳經常失敗:
原因
-
springboot的應用服務在啓動時,會在操作系統的/tmp目錄下生成一個
Tomcat.*
的文件目錄,用於java.io.tmpdir
文件流操作; -
程序對文件的操作時:會生成臨時文件,暫存在臨時文件中;Linux系統的
tmpwatch
命令會刪除10天未使用的臨時文件;長時間不進行上傳操作,導致/tmp下面的tomcat臨時文件目錄被刪除,且刪除的文件不可恢復,上傳文件時獲取不到文件目錄,導致報錯
解決方案
gateway網關
配置文件新增配置,手動設置文件上傳臨時目錄,防止刪除
server.tomcat.basedir = /data/temp
- 重啓網關後,可以看到,臨時目錄已經變化: