Springboot上传文件出现MultipartException

spring-boot项目,运行一段时间后,上传图片报错,如下:

org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.6309796379240031738.18000/work/Tomcat/localhost/opxx] is not valid] with root cause

原因是Linux会自动清理一段时间不适用的临时文件(具体清理规则可以参考https://www.cnblogs.com/MonkeyAC/articles/3631401.html),导致找不到临时目录而报错。

解决方法:

  1. 临时解决方法是直接创建临时文件目录

  2. 指定上传文件临时目录

@Configuration
public class MultipartConfig {
    /**
     * 文件上传临时路径
     */
    @Bean
    MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setLocation("/data/dubbo/cache");
        return factory.createMultipartConfig();
    }

}
posted @ 2019-06-05 09:46  小苗巴  阅读(3237)  评论(0编辑  收藏  举报