报错:
翻译过来,临时上传位置**是无效的,意味着文件夹找不到了,百度了一下查到原因了找到了,说是springboot打jar包通过java -jar启动的项目,如果上传文件会在linux的/temp/下生成一个tomcat的文件夹,上传的文件先要转换成临时文件保存在这个文件夹下面。由于临时/tmp目录下的文件,在长时间(10天)没有使用的情况下,就会被系统机制自动删除掉。所以如果系统长时间无人问津的话,就可能导致上面这个问题。
原文链接:https://blog.csdn.net/eumenides_/article/details/84066539
解决办法:
- 临时的,直接重新启动项目就行,会重新建立临时文件夹
- 在配置文件中配置tomcat的临时目录:
server.tomcat.basedir=/home/temp
- 写个配置类,通过@Bean的方式配置目录:
/**
* 文件上传临时路径
*/
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/home/temp");
return factory.createMultipartConfig();
}
实际上还是第二种更简单,测试环境用第一种重启下拉到,生产环境用特殊紧急情况用了第一种的话,得尽快迭代(10天内),免得又给删了出毛病