問題:項目上傳功能好好的,突然出現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
注解的方法,這些方法將會被AnnotationConfigApplicationContext
或AnnotationConfigWebApplicationContext
類進行掃描,並用於構建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