背景:有时候我们上传文件时会遇到这种报错,“Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [C:\\Users\\XXXX\\AppData\\Local\\Temp\\tomcat.2460390372185321891.8082\\work\\Tomcat\\localhost\\ROOT] is not valid”。导致上传文件失败。
原因:这种问题出现的原因是因为操作系统清理缓存垃圾的时候把Tomcat的文件上传临时目录删除了,导致我们上传文件找不到原来的临时目录,所以上传会报错。
解决办法有三个:
1.修改application.yml文件配置,配置tomcat的basedir文件夹属性
2.通过注册Tomcat的配置Bean来指定临时目录
代码:
/**
* 文件上传的临时路径
*/
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("D:\\TEST\\temp");
return factory.createMultipartConfig();
}
3.手动新建报错的目录,指的是按照报错去新建一个一模一样的文件夹,适用于比较紧急的情况C:\\Users\\XXXX\\AppData\\Local\\Temp\\tomcat.2460390372185321891.8082\\work\\Tomcat\\localhost\\ROOT
这三种方式都可以解决问题,您可以凭自己喜好选择一种方式,这样配置后就不会再遇到找不到Tomcat临时目录的错误了。
文章出处登录后可见!
已经登录?立即刷新