1.The temporary upload location [ xxxx ] is not valid
这里介绍的比较详细:
https://www.cnblogs.com/yihuihui/p/10372887.html
问题产生的原因:
SpringBoot 项目在启动的时候会创建几个临时目录存放临时文件,
/tmp/tomcat.1315873922184582055.8080/work/Tomcat/localhost/ROOT
比如:上传文件的时候就需要这个临时目录存在,不存在就报上面的错误;
而这个文件夹不存在的原因是 Linux 系统会定时清理 /temp 下的东西
解决思路:
1、在配置文件中加入
server.tomcat.basedir= /tmp/tomcat
2、注入Bean
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/tmp/tomcat");
return factory.createMultipartConfig();
}
3、修改 linux 系统配置文件,别让系统自动清理了
vim /usr/lib/tmpfiles.d/tmp.conf
# 添加一行
x /tmp/tomcat.*
2.不要把application.properties配置文件与pom文件放在同级目录
因为这样springBoot就去读与pom文件同级的application.properties文件了。resource 下的就不管了
我之前为了方便把 生产的配置文件 放在了 根目录下 导致出现了这个问题,最后,把根目录下的application.properties 文件删了就OK了