抛异常原因:是因为在Linux系统中,使用 java -jar 部署 SpringBoot 项目时,会在操作系统的根目录/root/tmp 目录下生成一个 tomcat 的文件目录,上传文件先要转换成临时文件存到该临时目录下,才会上传到具体位置,由于临时 /tmp 目录下的文件,系统在长时间未使用时(默认10天),就会被系统默认机制自动删除掉,所以就会导致 (The temporary upload location [/tmp/tomcat.246491644596321059.9001/work/Tomcat/localhost/mumwayportal] is not valid)临时上传目录不存在的异常抛出,也就是所谓的好好的代码都没人动怎么就异常了呢。
解决方案:
一.临时的,直接重新启动项目就行,会重新建立临时文件夹 快速解决问题。
二.在配置文件中配置tomcat的临时目录:
server.tomcat.basedir=/xxx 自定义目录文件
三. 写个配置类,通过@Bean的方式配置目录:
/*
- 文件上传临时路径
*/
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/home/temp");
return factory.createMultipartConfig();
}
建议使用用第二种,改动较小,较容易且在项目启动时,生成该文件,一劳永逸,杜绝后患