Failed to parse multipart servlet request; nested exception is java.io.IOException
springboot线上的项目出现此状况
Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.6132688910850781933.8089/work/Tomcat/localhost/ROOT] is not valid
原因
- 使用http post请求时,需要使用临时目录存放数据
- 当前的临时文件路径是被临时创建的,但由于centos的系统机制,
temp
目录会定时回收和删除的,因此运行了些时日后的项目,就会遇见此状况,没找到对应的目录
解决
1. 重启项目
对于一些demo示例性的,学习性,实验测试性的项目,可以直接重新启动项目则可以解决。
同样,也可以针对报错提示的路径,进行建立相关的路径。
但是,对于已在线上的生产环境的项目,上述方法都不太建议。
2. 修改springboot的配置
在application配置文件中的server-tomcat
增加一项配置basedir: /data/temp
,
使得临时文件存放在指定的目录下,不会被系统回收删除。
修改完成后,重新部署项目。
server:
tomcat:
basedir: /data/temp
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。