springboot上传报错:Failed to parse multipart servlet request

内容分享2小时前发布
1 0 0

缘由:

springboot上传隔10天左右上传不可用报错Failed to parse multipart servlet request; nested exception is java.io.IOException,重启后又正常,为啥上传文件失败,从异常信息上看,说缺少目录[
/tmp/tomcat.1428942566812653608.8090/work/Tomcat/localhost/ROOT]导致的。经过对异常描述中的解读发现

springboot上传报错:Failed to parse multipart servlet request

1:这个是一个IO异常

2:同时是由于文件上传引起

3:在其中我们看到了Tomcat单词,说明这和Tomcat有关

4:上传文件时,上传的文件暂存在临时目录。

5:文件上传成功后,再COPY到上传的指定目录。

6:当前临时目录(tmp)隔日天会清理一次(root帐户无该问题)。

结果:

应该有人不知道,在tomcat接收http POST请求的时候,他是需要有一个临时目录来存储这个数据的,由于他是存放在/temp目录下的可能会由于一些缘由被清除,所以会报错IO异常。由于该目录是挂在到/temp目录下的临时文件,那么对于一些OS系统,像centOS将常常删除这个临时目录,所有导致该目录不存在了。

解决方案:

 1:重启你的项目就可以了

 2:在application.yml中配置上传目录的本地的临时存放位置,并重启项目

springboot上传报错:Failed to parse multipart servlet request

3. 添加启动参数 -java.tmp.dir=
/path/to/application/temp/,并重启。

4.添加配置:

server.tomcat.basedir=/data/app/upload

程序启动前,加入自动创建文件夹代码,避免实施人员未创建目录导致程序启动失败。

© 版权声明

相关文章

暂无评论

none
暂无评论...