springboot報錯說 Failed to parse multipart servlet request; nested exception is java.io.IOException


問題:一次開發中遇到一個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 ,並重啟項目

  1. spring:
  2.    http: 
  3.       multipart:
  4.             location: /data/upload_tmp

3.添加啟動參數 -java.tmp.dir=/path/to/application/temp/,並重啟


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM