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会自动清理一段时间不适用的临时文件(具体清理规则可以参考),导致找不到临时目录而报错。
### 解决方法:
临时解决方法是直接创建临时文件目录
指定上传文件临时目录
@Configurationpublic class MultipartConfig { /** * 文件上传临时路径 */ @Bean MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); factory.setLocation("/data/dubbo/cache"); return factory.createMultipartConfig(); }}