500错误Failed to parse multipart servlet request; nested exception is java.io.IOException_ The tempor

当使用SpringBoot携带MultipartFile参数的POST请求时,可能出现'Failed to parse multipart servlet request'的500错误。原因是CentOS系统自动清理了临时文件目录。解决方案包括重启项目、修改`application.yml`配置、自定义配置类指定临时文件位置,以及调整CentOS的清理规则。确保临时文件目录存在可以避免此类问题。

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

报错信息:

message: "Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608:7773/work/Tomcat/localhost/ROOT] is not valid
可以直接跳到解决方案

打开浏览器 F12 => network 查看preview,会返回你的报错信息,我返回的报错信息如上文所示,/tmp/tomcat.xxx
,上面报错信息的大概意思是你的临时文件上传的路径[/tmp/tomcat.1428942566812653608:7773/work/Tomcat/localhost/ROOT]找不到。
image.png

原因

我并没有上传文件,只是发送了一个post请求,无论你是否上传文件只要使用springboot是携带了MultipartFile参数,就会去读一下/tmp/tomcat.xxx这个目录,但是我们的centos对临时文件有自动清理规则,如果较长时间(默认10天)不对这个服务进行发布就会将这个目录给清理掉,就导致我们上面的问题出现。

验证是否是这个原因
首先进入服务器查看是否存在这个目录

# ls -a /tmp/

发现并没有tomcat.xxxx文件ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值