1. 程式人生 > >Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up



原因:

1.spring boot的應用服務在啟動的時候,會生成在作業系統的/tmp目錄下生成一個Tomcat.*的檔案目錄,用於"java.io.tmpdir"檔案流操作

TomcatEmbeddedServletContainerFactory

2.程式對檔案的操作時:會生成臨時檔案,暫存在臨時檔案中;

lunix 系統的tmpwatch 命令會刪除10天未使用的臨時檔案;

長時間不操作,導致/tmp下面的tomcat臨時檔案目錄被刪除,且刪除的檔案不可恢復,上傳檔案時獲取不到檔案目錄,報錯

解決方案:

1.重啟服務,臨時方案:會重新生成tomcat目錄,但是生產環境不建議如此操作;

2.1增加服務配置,自定義baseDir:

2.2啟動時增加引數-Djava.io.tmpdir=自定義目錄

3.修改tmpwatch 刪除檔案的邏輯,系統級別的命令,不建議操作

4.在網上看到有:編碼的方式catch異常,生成刪除的資料夾;(方法未驗證)

參考: