轻松解决spingboot-The temporary upload location [xxxxxxxxxxxxxx] is not valid的问题

  最近忙里忙外,几乎都忘记有写博客这件事情了,感觉如果再不写的话就很难再去写了。好的,废话少说,下面正式我的写博客之旅。

  刚刚在敲代码的时候突然测试那边一个帅哥发了一张截图过来说是导入方案失败了,叫我马上排查修复。无奈之下只能先暂时放下手头的工作帮他解决问题。具体报错截图如下图所示:
在这里插入图片描述
  遇到问题,第一件事肯定是打开xshell登进后台服务器查看相关日志。一查看日志发现还过真报错了,具体报错截图如下所示:

在这里插入图片描述
  从如上截图大家可以看出程序中抛出了Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/work/Tomcat/localhost/xxxxxx] is not valid(这里的xxxxxx代指为文件名)这样的异常,单从字面上理解我就首先推断出既然/tmp/work/Tomcat/localhost/xxxxxx这个临时上传位置无效,那就说明很大可能/tmp/work/Tomcat/localhost/xxxxxx这个路径对应的文件夹是不存在的,于是直接cd /tmp/work/Tomcat/localhost后发现果真不存在xxxxxx这个文件夹,紧接着果断mkdir xxxxxx创建了xxxxxx文件夹。这个bug应该已经被我解决了吧?我上去相关页面一测发现已经可以成功导入了!

  为什么会出先这个报错呢?网上有个小伙子解释得还是挺有道理的,我贴出来给大家看下。

spring boot的应用服务在启动的时候,会生成在操作系统的/tmp目录下生成一个tomcat.*的文件目录,用于"java.io.tmpdir"文件流操作。
程序对文件的操作时:会生成临时文件,暂存在临时文件中;lunix 系统的tmpwatch 命令会删除10天未使用的临时文件;长时间不操作,导致/tmp下面的tomcat临时文件目录被删除,且删除的文件不可恢复,上传文件时获取不到文件目录,所以就报错啦。

  当然我这个解决方案并不是唯一的,网上还有另外的解决方案,这里我列出常用的两种:

1.解决方案1:重启下springboot项目;
2.解决方案2:在springboot的配置文件里加个配置 ,如下所示:

server.tomcat.basedir=/app/temp

这个路径需要你在Linux根目录下下建个/app/temp文件 。

  参考博客:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Melo_FengZhi

您的鼓励对我就是巨大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值