文件上傳報錯:Could not parse multipart servlet request;找不到路徑問題解決


問題:項目上傳功能好好的,突然出現Could not parse multipart servlet request;錯誤。

原因:linux服務器,在長時間沒有訪問等情況時,會清除/tmp臨時目錄,故會導致上傳找不到路徑。

解決方式:

1.重啟項目。

2.項目中配置指定目錄

@configuration
public class MultipartConfig {
    @Bean
    MultipartConfigElement multipartConfigElement() {
       MultipartConfigFactory factory = new MultipartConfigFactory();
       String location = System.getProperty("user.dir") + "/data/tmp";
       File tmpFile = new File(location);
       if (!tmpFile.exists()) {
          tmpFile.mkdirs();
       }
       factory.setLocation(location);
       return factory.createMultipartConfig();
    }
}

注:@configuration

Spring3.0@Configuration用於定義配置類,可替換xml配置文件,被注解的類內部包含有一個或多個被@Bean注解的方法,這些方法將會被AnnotationConfigApplicationContextAnnotationConfigWebApplicationContext類進行掃描,並用於構建bean定義,初始化Spring容器。

注:System.getProperty("user.dir") 

jar包的web項目下,即工程根目錄。JVM就可以據"user.dir" + "你自己設置的目錄" 得到完整的路徑,即絕對路徑。若是tomcat,則是tomcat,bin目錄。

 

參考鏈接:https://blog.csdn.net/leoxyk/article/details/79800020

參考鏈接:https://blog.csdn.net/qq_29964641/article/details/86686585

 


免責聲明!

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



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