上传文件,后台报错
Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.xxxx.xx/work/Tomcat/localhost/ROOT] is not valid检查发现 /tmp 目录下确实没有 tomcat.xxxx.xx
原因:Spring Boot 以java -jar方式启动时,会在/tmp目录下自动生成一个tomcat.xxxx.xx的临时目录,用于存放上传文件的临时数据。而 Linux 系统的systemd-tmpfiles服务(由/usr/lib/tmpfiles.d/tmp.conf控制)会自动清理/tmp下超过 10 天未被访问的文件/目录。项目长时间无人访问后,该临时目录被系统删除,再次上传时就会报错。
方案一:快速解决办法
在 /tmp目录下手动创建 mkidr -p tomcat.xxxx.xx/work/Tomcat/localhost/ROOT
再次测试上传OK
方案二:配置server.tomcat.basedir
server: port: xxxx tomcat: basedir: /data/app/tomcat-tmp方案三:启动参数指定 JVM 临时目录(待测试)
java -Djava.io.tmpdir=/data/app/tmp -jar your-app.jar也可以参考 https://blog.csdn.net/PatPeng/article/details/90174597