Failed to parse multipart servlet request;
nested exception is java.io.IOException:
The temporary upload location
[D:\Users\name\AppData\Local\Temp\tomcat.7906663526079040174.8080\work\Tomcat\localhost\demo] is not valid
错误信息意思 : 这个临时目录 D:\Users\name\AppData\Local\Temp\tomcat.7906663526079040174.8080\work\Tomcat\localhost\demo无效,即这个目录不存在,导致文件上传失败
造成这种问题的原因:springboot启动项目时会创建一个/tmp/tomcat.7*/work/Tomcat/localhost/xxx的临时目录作为文件上传的临时目录,但是该目录会在10天之后被系统自动清理掉。当该目录被系统清理后,上传文件便会出现该问题。
解决办法:
-
重启服务
可临时避免出现该问题,一段时间后该问题还会暴露 -
在tmp目录下创建这个目录
可临时避免出现该问题,一段时间后该问题还会暴露 -
增加服务配置,自定义baseDir:
在配置文件application.properties中设置:
# springboot项目启动后,指定系统的创建目录
server.tomcat.basedir = D:/temp