年前部署的项目,一切正常,年后因疫情在家办公,后管多日无人维护内容,今日维护内容时报下面错误(年前正常)
The temporary upload location [/tmp/tomcat.370877693762664579.8081/work/Tomcat/localhost/ROOT] is not valid
通过搜索资料得知,springboot 内嵌了tomcat 在项目启动jar时,会在/tmp 文件下生成一个tomcat.*的路径文件夹,来临时存放前端上传的文件,linux系统一般对tmp下的文件夹有一个时效性,超过这个时间无任何操作的话,系统会默认删除这个文件夹,因此在再次上传文件时,无法访问到当时自动创建的临时文件夹,程序报错。
解决方案
jar启动时自定义临时文件夹的位置
在appilcation.properties 中 添加一个配置
server.tomcat.basedir=/data/temp
配置的含义是:上传的文件会临时存放在/data/temp/* (该路径可自定义,我的是放在了data文件夹下)文件夹下 这样系统不会删除这个文件夹,因此就不会出现上述的问题。
网友评论