Failed to parse multipart servlet request nested exception is java.io.IOException

bug重现

发送post 请求 上传文件,接口返回了错误信息。
在这里插入图片描述

解决与分析

很明显从错误的信息里可以看出,是指定的目录 已经无效了。后来我登录到部署的Linux 服务器上查看,的确 目录不存在了。

出现这种错误主要是因为 :

  1. 使用HTTP POST 请求,需要建立一个临时的文件目录(比如这里的【/tmp/tomcat.4124735587175…/work/Tomcat/localhost/…】)来存储POST表单里的数据
  2. 这个临时的文件呢,是挂在在Linux 根目录下的tmp 下 ,而且这个临时文件如果长时间没有被访问,是会被系统给清理掉的。
  3. 项目每次启动一次,会产生新的临时文件。比如重启后产生的文件夹如下在这里插入图片描述

解决办法:

  1. 直接重启项目,产生新的临时文件夹;
  2. 配置项目的application.yml 文件,指定临时文件夹的路径。然后还是要重启项目;
spring:
    http:
        multipart:
          location: /data/xxx_tmp
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值