文件上传报错: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