Spring Boot入坑 [一] :上传文件报错:java.io.IOException: The temporary upload location [***] is not valid

Spring boot 上传文件,突然出现异常:

       java.io.IOException: The temporary upload location [C:\Users\essence-pc\AppData\Local\Temp\tomcat.6349132253152360078.8035\work\Tomcat\localhost\qzl2nd] is not valid

 错误原因:

  临时文件夹无效 ,文件上传临时上传文件夹失效了,可能是系统清除了临时目录。

 在springboot项目启动后,系统会在‘/tmp’目录下自动的创建几个目录:

   1,tomcat.************.8080,(结尾是项目的端后)

   2,tomcat-docbase.*********.8080。

 

 

解决方案有三种
1:重启服务,不建议在生产环境使用。
2:修改tocat启动配置,自定义baseDir。添加-Djava.io.tmpdir=

java -Djava.io.tmpdir=./temp -jar fdbserver-0.0.1-SNAPSHOT.jar -Dspring.config.location=file:./application.properties 


3:注入bean,手动配置临时目录,建议有项目组统一配置,便于管理和错误定位。

/**
 * 文件上传临时路径
 */
 @Bean
 MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("c:/tmp");
    return factory.createMultipartConfig();
    }

经过配置后,再次上传文件,就可以直接上传了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值