java创建临时文件会自动删除吗

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

原因:

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

1:这个是一个IO异常

2:同时是因为文件上传引起

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

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

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

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

结果:

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

解决方案:

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

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


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

4.添加配置:

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

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

原文链接:,转发请注明来源!