spring Boot上傳檔案報錯。
阿新 • • 發佈:2019-02-01
spring Boot版本 1.4.5
報錯原因:
上傳檔案大小了584K,明顯沒有觸及到什麼 檔案太大之類的短板。org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [C:\Users\admin\AppData\Local\Temp\tomcat.3797255209336115746.9008\work\Tomcat\localhost\ROOT\data\uploadTemp] is not valid
關鍵問題在於:
The temporary upload location [C:\Users\admin\AppData\Local\Temp\tomcat.3797255209336115746.9008\work\Tomcat\localhost\ROOT\data\uploadTemp] is not valid
字面意思:
本地的臨時儲存位置:C:\Users\admin\AppData\Local\Temp\tomcat.3797255209336115746.9008\work\Tomcat\localhost\ROOT\data\uploadTemp 不可達。
那麼本地明顯沒有這個位置!出現的原因可能是莫名其妙被刪除了。
spring boot找不到這個地址 就丟擲來這個一場了。
看來是Spring boot的臨時儲存位置出問題了。
那麼我重寫一下他的臨時儲存位置:
第一種 方法 jar包啟動時 利用 引數 來設定臨時路徑。 費勁,放棄。
第二種方法 注入bean,自定義修改檔案臨時儲存路徑。有程式碼侵入量,可以考慮。
第三種方法:@Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setLocation("d://temp"); return factory.createMultipartConfig(); }
application.yml裡
設定檔案臨時儲存路徑
spring.http.multipart.local =
三種方法。看自己選擇了。