寫Demo利用SpringBoot上傳文件時,發生了java.nio.file.NoSuchFileException。
很明顯這是告知沒有找到該文件異常,有點郁悶明明是上次文件為何沒有找到該文件,找了半天才明白越來是指定存放文件目錄的路徑不對,
我是沒有加絕對路徑,應該是D:/data/temp/這樣指定就OK了。另外網上也說由於應用啟動時會在操作系統的tmp目錄下生成一個tomcat文件用來
存放上傳的文件(上傳的文件會先轉換成臨時文件存放到該目錄下,系統也會不定時去清理這些臨時文件,下次在上傳時路徑和之前一樣,但是因為系統
清理了沒有找到,因此報錯!)。發生這類問題時,首先要確定上傳的文件目錄是否沒有問題(PS:多半是因為上傳文件的目錄指定有誤才出現這類問題)。
也要避免系統不定時去清理這些臨時文件,所以有必要去指定一下臨時文件存放目錄,(PS:這是SpringBoot指定上傳文件臨時目錄的路徑),我是在
application.properties(或者在yml文件中指定,不過寫法不是.點了,把點換成:就可以了,注意格式和對齊)配置文件中
spring.servlet.multipart.location=D:/home/data/temp
加上了這個配置,其中后邊就是要指定的路徑。之后上傳的文件和轉換臨的時文件都會保存到這個目錄下!
(PS:以上就是我個人的理解,如果總結的不周到,還請指出,也歡迎大家一起討論!)
