SpringBoot文件上傳接口,有時會報這個錯誤,但是服務重啟后又不會出現這個問題。
Failed to parse multipart servlet request;
nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException:
/tmp/undertow.3701241699676381582.32711/undertow1504003900571732622upload
原因是服務會自動在/temp下載創建一個臨時文件夾,用於文件上傳。但是系統經常會刪除這里的文件夾,所以就會造成上面文件夾找不到的錯誤。
可以通過制定文件上傳臨時文件夾的路徑,這樣系統就不會自動刪除了,或者去重啟這個服務,再次去生成文件這樣也可以。
指定臨時文件夾路徑
有兩種方式,一種是在java啟動命令中加入這個參數
-java.tmp.dir=/data/upload_tmp
或者在Spring配置文件中配置
spring:
http:
multipart:
location: /data/upload_tmp