Failed to parse multipart servlet request; nested exception is java.io.IOException,文件上传异常的问题如何解决

背景:有时候我们上传文件时会遇到这种报错,“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临时目录的错误了。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年12月14日
下一篇 2023年12月14日

相关推荐