【bug解决】文件chunk分包上传中断报错


一天闲着无聊,打开项目线上报错日志信息,突然发现一段很奇怪的报错:MultipartException,主观认为导致这个问题的原因无非就几个原因:

  1. 文件上传格式大小超出限制,在配置文件中修改文件大小限制
  2. 临时存储问题,可能在linux服务器上因为权限或者其他问题导致无法创建临时文件

但是仔细分析发现并不是这几个原因,原因如下:

报错信息

org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request
atorg.springframework.web.multipart.support.StandardMultipartHttpServletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:122)
atorg.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:110)
at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.(StandardMultipartHttpServletRequest.java:86)
atorg.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:112)
image.png

原因分析

  • 深入分析堆栈内容,发现有一个客户端中止请求请求,报错:Caused by: org.apache.catalina.connector.ClientAbortException: java.io.EOFException

image.png

  • 上网看了一下,是因为用户在上传比较大(图片/视频)文件时出现了客户端文件传输中断操作,具体情况可能是传输到一半出现了“切后台”或者“网络断了”等情况

解决方案

该报错不影响线上代码继续运行,只是运行时错误。
该传输方式是HTTP协议的chunk分片传输,如果要解决可以修改传输方式,换成压缩传输,网上有很多其他的例子,不进行赘述。

  • 提示:

image.png
出现问题直接沿着堆栈信息往下看,找到Caused by打印的信息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值