一个长久没更新过的spring boot项目突然间文件上传错误,异常信息如下,此原因主要问题是tomcat默认的临时目录没了,项目运行的服务器每隔一段时间会清除 /tmp 临时目录,项目每次启动都会创建临时目录。
注意:在指定临时目录时,切记不要指定 /tmp 目录。
解决方案:
方案一:重启项目,每隔一段时间重启,可以跟 /tmp 清除周期保持一致(一般是10天左右)
方案二:使用配置类
@Configuration
public class HttpMultipartConfig {
@Bean
public static MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
String location = "自定义临时目录";
factory.setLocation(location);
return factory.createMultipartConfig();
}
}
方案三:
修改 SpringBoot 的配置文件
# 注意:该方法已过期
spring:
http:
multipart:
location: /opt/data/upload # 自定义临时目录
server:
tomcat:
basedir: /opt/data/upload # 自定义临时目录