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),导致找不到临时目录而报错。
解决方法:
-
临时解决方法是直接创建临时文件目录
-
指定上传文件临时目录
@Configuration
public class MultipartConfig {
/**
* 文件上传临时路径
*/
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/data/dubbo/cache");
return factory.createMultipartConfig();
}
}