问题说明:SpringBoot 定义的web项目过一段一时间会报如下异常:
java.io.IOException: The temporary upload location [C:\Windows\Temp\tomcat.6949618360138609656.8080\work\Tomcat\localhost\xxweb] is not valid
异常分析:
异常显示,临时文件不存在。
因为springboot在启动的时候会创建一个tmp的临时文件用来存放一下临时的文件信息等内容
tmp文件夹 有个特性 ,就是在一段时间内没有进行操作,该文件夹内的文件夹和文件等就会自动被清除,导致一些文件丢失。
于是便会导致该异常。
解决办法:
1)直接重启服务,治标不治本,当然不是我们想要的解决办法。
2)指定上传文件临时的路径(根本解决),如下:
//在启动类里面添加MultipartConfigElement 配置类
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("D:/xxx/tmp");//指定临时文件路径
return factory.createMultipartConfig();
}
指定好临时路径后还需要在Linux环境上创建对应的文件夹,在重启项目即可