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.*


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部