上传文件解决tomcat的临时目录失效问题

项目场景:

今天测试又过来搞我,说平台的上传文件功能突然不能用了,上个月都测试得好好的


问题描述:

查看了系统服务日志,看到了一个错误,错误的意思是某个临时目录失效了,不存在了。如下

org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request;
nested exception is java.io.IOException: The temporary upload location 
[/tmp/tomcat.133774185444442042.80/work/Tomcat/localhost/ROOT] is not valid 
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest
(StandardMultipartHttpServletRequest.java:122) org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.

原因分析:

从错误/tmp/tomcat.133774185444442042.80/work/Tomcat/localhost/ROOT is not valid 可知是该目录下的某个目录已经不存在了,这是由于平台长时间没有使用上传文件功能,springboot启动会创建一个临时目录,如果不使用,会被linux系统回收删除


解决方案:

解决方案一:重启服务(线上不推荐)

解决方案二:启动时增加参数-Djava.io.tmpdir=自定义目录

解决方案三:自定义tomcat目录

server:
  tomcat:
    basedir: /data/java/config/tmp

解决方案四:使用mkdir -p 命令手动创建该不存在的目录

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值