SpringBoot上傳文件報錯,臨時路徑不存在


異常信息

報錯日志:

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();

    }


免責聲明!

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



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