【關鍵字】Could not parse multipart servlet request

問題描述:

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.2787723636027878371.8082/work/Tomcat/localhost/taslyb2bbms] is not valid

springboot傳文件,兩臺電腦客戶端,今天客戶端A可以正常傳文件,而B無法傳文件,明天客戶端A則無法正常傳文件,而B可以。
結果:看錯誤是因爲無臨時目錄導致上傳文件失敗,臨時文件不存在是因爲linux自動清理10天未操作的臨時文件目錄,而兩個客戶端時而可以時而不可以的問題是因爲,採用了兩臺服務器的負載均衡,一臺服務器由於10天未被分配到訪問導致臨時目錄被清理,而另一臺則收到訪問臨時目錄未被清理,所以當無論哪臺客戶端被分配訪問未被清理臨時目錄的服務器時都可以正常上傳文件,而另一臺則無法正常上傳文件。

解決方案:

  • 重啓項目,系統會自動重新生成該目錄
  • 手動創建該目錄
  • 在代碼中增加系統默認目錄配置 ,如下:
  • @Bean
    MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setLocation("/app/tmp");
        return factory.createMultipartConfig();
    }

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章