异常信息
运行时异常:Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.8601947821559663767.9998/work/Tomcat/localhost/test] is not valid
大致意思是/tmp/tomcat...这个目录里没有找到对应的目录或文件,应该是服务器清理缓存的时候被清理掉了。
1. 最直接的解决方式是服务器重启项目,但是每次遇到这种问题都要去重启,那就有点烦了。
2. 添加启动参数,指定临时文件存放目录(网上搜集的,没用过,不建议使用)
-Djava.io.tmpdir=/data/upload_tmp #springboot2.0用这个
-java.tmp.dir=/data/upload_tmp #springboot1.5用这个
3. 写在配置文件里,固定使用一个临时文件目录(一劳永逸)
在application.yml配置文件的spring下配置临时文件目录:
(针对的是springboot 2.0+)
spring: servlet: multipart: location: /data/upload_tmp #配置临时文件目录,需要在服务器的/data目录下新建一个upload_tmp目录
(针对的是springboot1.5)
spring: http: multipart: location: /data/upload_tmp #配置临时文件目录(location会冒红,提示这个配置已过时)
点击 Use replacement key... 会自动使用最新的属性替换掉
参考:
https://blog.csdn.net/jian876601394/article/details/94311896
https://www.iteye.com/blog/kanpiaoxue-2437903
https://www.itread01.com/content/1542708266.html
https://www.cnblogs.com/chancy/p/11328794.html
https://blog.csdn.net/qq_35971258/article/details/84867895