Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary up

假装没事ソ 提交于 2020-01-15 19:00:33

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"

问题描述:spring boot 通过MultipartFile上传文件,两台电脑客户端,今天客户端A可以正常传文件,而B无法传文件,明天客户端A则无法正常传文件,而B可以。

结果:看错误是因为无临时目录导致上传文件失败,临时文件不存在是因为linux自动清理10天未操作的临时文件目录,而两个客户端时而可以时而不可以的问题是因为,采用了两台服务器的负载均衡,一台服务器由于10天未被分配到访问导致临时目录被清理,而另一台则收到访问临时目录未被清理,所以当无论哪台客户端被分配访问未被清理临时目录的服务器时都可以正常上传文件,而另一台则无法正常上传文件

解决办法有三种:
1 重启项目,系统会自动重新生成该目录
2 手动创建该目录
3 在代码中增加系统默认目录配置 ,如下:
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/app/tmp");
return factory.createMultipartConfig();
}
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!