問題:一次開發中遇到一個springboot的異常,如下所示:Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608
二、分析原因
1.該異常是如何產生的
我是通過gentman,發送一個post請求,導致該異常的。從上面的異常信息來看,是因為該目錄[/tmp/tomcat.1428942566812653608.8090/work/Tomcat/localhost/ROOT],不存在導致的。
2.該異常為何會產生我的應用中沒有文件上傳,為啥會拋org.springframework.web.multipart.MultipartException異常
2.1)首先,我們應該知道,對於http POST請求來說,它需要使用這個臨時目錄來存儲post數據。
2.2)其次,因為該目錄是掛在到/temp目錄下的臨時文件,那么對於一些OS系統,像centOS將經常刪除這個臨時目錄,所有導致該目錄不存在了
三、解決方案
1.重啟你的項目就可以了(我采用的這種)
你還可以嘗試以下方式
2.在application.yml文件中設置multipart location ,並重啟項目
-
spring:
-
http:
-
multipart:
-
location: /data/upload_tmp
3.添加啟動參數 -java.tmp.dir=/path/to/application/temp/,並重啟