报错信息
Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.2787723636027878371.8082/work/Tomcat/localhost/taslyb2bbms] is not valid"
出现的问题描述
放了14天的春节假,假满前一天有业务部门的哥们说客户更新资料上传不了图片,然后我跟踪了下问题,发现服务端抛以上异常,项目是用Spring boot 通过MultipartFile(FastDFS)上传文件
检查的结果
发现抛异常是因为无临时目录导致上传文件失败,临时文件不存在是因为linux自动清理10天未操作的临时文件目录,由于放假前部署服务器,所有服务器10天未被分配到访问导致临时目录被Linux清理。
解决办法有三种:
- 重启服务,让系统重新生成该目录
- 手动创建该目录
- 在代码中增加系统默认目录配置 ,如下:
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/app/tmp");
return factory.createMultipartConfig();
}