SpringBoot搭建的项目上传文件时提示The temporary upload location ***is not valid
系统环境CentOS 7 + Java 8
SpringBoot内置的Tomcat启动时创建临时目录保存上传缓冲文件,但CentOS会定期清理 默认的临时文件目录(一般都在/tmp下)
解决方案:
一、修改tomcat临时目录
1.1可以采用配置文件的方式(server.tomcat.basedir=/tmp/tomcat);
1.2注入配置bean
@Configuration
public class MultipartConfig {/*** 文件上传临时路径*/@BeanMultipartConfigElement multipartConfigElement() {MultipartConfigFactory factory = new MultipartConfigFactory();String location = System.getProperty("user.dir") + "/data/tmp";File tmpFile = new File(location);if (!tmpFile.exists()) {tmpFile.mkdirs();}factory.setLocation(location);return factory.createMultipartConfig();}
}
二、修改CentOS的临时目录配置文件,不要清理指定目录
修改 /usr/lib/tmpfiles.d/tmp.conf
# 添加一行
x /tmp/tomcat.*
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
