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

 

posted @ 2022-02-16 22:43  对月当歌  阅读(2869)  评论(0)    收藏  举报