異常信息
報錯日志:
The temporary upload location [/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT] is not valid |
異常原因
在linux系統中,springboot應用服務再啟動(java -jar 命令啟動服務)的時候,會在操作系統的/tmp目錄下生成一個tomcat*的文件目錄,上傳的文件先要轉換成臨時文件保存在這個文件夾下面。由於臨時/tmp目錄下的文件,10天就會被系統機制自動刪除掉。所以會出現找不到該路徑的異常
在Windows上臨時路徑會創建在
C:\Users\qjc\AppData\Local\Temp |
PS:最后面的“.”后面跟的是對應項目的端口號
所以測試的時候,可以刪除這個臨時路徑讓異常復現,然后用下面的方式進行解決:
1. 臨時解決方式:
可以重啟服務,讓springboot重新生成臨時路徑,當然,這個不可取,不建議再生產環境使用
2.修改配置文件
在application.yml重新配置一個文件目錄,然后重啟項目(推薦,親測有效)
# 存放Tomcat的日志、Dump等文件的臨時文件夾,默認為系統的tmp文件夾 server.tomcat.basedir=/data/apps/temp |
3.修改配置類
配置類配置臨時文件存儲目錄(測試無效,原因未知)
@Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setLocation(“/data/apps/temp”); return factory.createMultipartConfig(); } |