【spring】springboot臨時文件存儲目錄


springboot上傳文件報錯

異常日志:

The temporary upload location [/tmp/tomcat.721712312312312.8093/work/Tomcat/localhost/ROOT] is not valid

異常原因

在linux系統中,springboot應用服務再啟動(java -jar 命令啟動服務)的時候,會在操作系統的/tmp目錄下生成一個tomcat*的文件目錄,上傳的文件先要轉換成臨時文件保存在這個文件夾下面。

由於臨時/tmp目錄下的文件,在長時間(10天)沒有使用的情況下,就會被系統機制自動刪除掉。所以如果系統長時間沒有使用到臨時文件夾,就可能導致上面這個問題。

解決辦法

  1. 創建臨時文件夾:
mkdir -p /tmp/tomcat.721712312312312.8093/work/Tomcat/localhost/ROOT
  1. 修改springboot配置文件

    # 存放Tomcat的日志、Dump等文件的臨時文件夾,默認為系統的tmp文件夾
    server.tomcat.basedir=/data/apps/temp
    
  2. 添加配置類

    @Configuration
    public class MultipartConfig {
       @Value("${location.tempDir:/opt/tempDir}")
       private String tempDir;
    
       @Bean
       MultipartConfigElement multipartConfigElement() {
          MultipartConfigFactory factory = new MultipartConfigFactory();
          File tmpDirFile = new File(tempDir);
          // 判斷文件夾是否存在
          if (!tmpDirFile.exists()) {
             tmpDirFile.mkdirs();
          }
          factory.setLocation(tempDir);
          return factory.createMultipartConfig();
       }
    }
    


免責聲明!

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



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