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

本文解析了SpringBoot项目中因临时目录问题导致的文件上传失败错误,详细介绍了错误原因及三种解决方法,包括重启项目、添加代码指定临时目录及在配置文件中设定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring boot 上传文件出现以下错误:

{"timestamp":1539235200525,"status":500,"error":"Internal Server Error","exception":"org.springframework.web.multipart.MultipartException","message":"Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [C:\\Users\\admin\\AppData\\Local\\Temp\\tomcat.6593687039777917764.8088\\work\\Tomcat\\localhost\\ROOT] is not valid","path":"/expertService/picture/upload"}

看错误是因为 C:\\Users\\admin\\AppData\\Local\\Temp\\tomcat.6593687039777917764.8088\\work\\Tomcat\\localhost\\ROOT 目录不存在导致文件上传失败,该目录是项目启动时,项目自动生成,但是,要是长时间(这个时间可能是1天,也可能是更长或更短)未使用该目录,操作系统会自动删除该临时目录。目录被删除,上传文件时找不见目录,就出错了。

解决方法:

1、重新启动该项目,重新生成新的临时目录;

2、在项目中添加以下代码,指定临时目录

@Bean
public MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("./tmp");
    return factory.createMultipartConfig();
}

3、在项目配置文件中指定该目录

(这个目录的名字无论我起什么,都是在该项目下生成一个work的文件)

server.tomcat.basedir = .\temp


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值