spring框架下上传文件出现找不到tmp文件的情况。

开始的时候能正常使用,但是过了一段时间后就会出现上传文件是显示找不到tmp文件的情况,并且会一直存在 除非重启项目

因为spring上传的默认路径的在/tmp下

该文件夹在长时间不使用的情况下会被linux或centOS这样的系统定时清理掉;

而项目启动时才会创建,期间不会创建也不会检查是否被删除,所以才会出现你的这个问题

 

你可以配置 spring.http.multipart.location = /home/xxx/file

这样的路径来改变其默认行为

 

希望对你有帮助

指定下临时上传目录

@Bean
MultipartConfigElement multipartConfigElement() {
   MultipartConfigFactory factory = new MultipartConfigFactory();
   //factory.setLocation("D:/tmp"); 本地用
      factory.setLocation("/home/temp"); //服务器用
   return factory.createMultipartConfig();
}

 

server.tomcat.basedir 设置成固定的位置,不要放在 临时目录下,避免被 Linux 删掉