springboot报错说 Failed to parse multipart servlet request; nested exception is java.io.IOException

问题:

  今天在改 BUG 的时候, 发现报错了这样一段话

  Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608

  这是啥呀?

 

 分析原因:

  经过对异常描述中的解读发现

    1: 这个是一个 IO 异常

    2: 同时是因为文件上传引起

    3: 在其中我们看到了 Tomcat 单词, 说明这和 Tomcat 有关

  结果:

    应该有人不知道, 在 tomcat 接收 http POST 请求的时候, 他是需要有一个临时目录来存储这个数据的, 因为他是存放在 /temp 目录下的可能会因为一些原因被清除, 所以会报错 IO 异常

解决方案:

  1: 重启你的项目就可以了 (我采取的就是这个, 因为 tomcat 在重启的时候会检查环境, 如果不存在这个目录, 他就会自动创建)

  2: 在 application.yml 中配置上传目录的本地的临时存放位置, 并重启项目

  

 

  3: 添加启动参数 -java.tmp.dir=/path/to/application/temp/,并重启

 

作者:彼岸舞

时间:2020\10\09

内容关于:工作中用到的小技术

本文来源于网络,只做技术分享,一概不负任何责任