开发者社区> 问答> 正文

Android客户端上传文件到服务器报错413 ?报错

情景是这样的,我在android客户端上传图片到服务器,服务器接收到我上传的图片后会生成一张对应的小图并把图片在服务器保存的地址返回给我。当我批量上传图片到服务器超过120张的时候,服务器会返回给我一个413错误。刚才说了,服务器会根据上传的图片生成一张对应的小图,如果我把生成小图这个参数去掉的话,批量上传150张都没有问题。但是如果需要服务器生成小图,超过120张就报错413了。通过抓包以及debug查看,图片说明。因为这个请求分为上传到服务器,服务器处理数据后在给客户端一个数据的返回这是一个完整的请求。那么这里把请求划分为2个部分,一个是上传部分,一个是下载部分(服务器处理接收到的数据算为下载部分)。上面的图片是抓包的截图,表示请求该接口时上传数据部分。图片说明此张图片表示的是请求接口时的第二部分,下载数据 部分,服务器处理数据的时间超过2分钟后,也就是刚第二张图片那个接口箭头向下的时间超过2分钟(这里的时间是通过打印log来得知的,图中箭头部分的第一个时间是表示上传部分完成的时间,第二个时间表示报错的时间图片说明)后,就会报错413图片说明----这里报错的具体信息为** Response{protocol=http/1.1, code=413, message=Request Entity Too Large}^^^^^^^java.lang.IllegalArgumentException: rawResponse must be successful response
**。请问这个是什么原因,是服务器处理时间太久了吗?导致报错,但是为什么会报413错误啊,而不是408请求超时。不是数据太大的原因,因为如果不加生成小图的参数,服务器不把上传的图片生成小图,处理时间相对很短,不会超过2分钟的时间,那么上传200张图片都没有问题,但是如果一加上生成小图的参数,服务器处理的时间会相对的变长,此时即使是130张图片也会报错。请问这个是和服务器什么参数设置有关啊?或是因为什么原因产生的这个问题啊?

展开
收起
爱吃鱼的程序员 2020-06-23 01:15:52 1280 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    不知道楼主的问题解决了没有,日志信息显示java.lang.IllegalArgumentException非法参数,但是按照服务器的返回码看413应该是发布或者上传的内容超过
    当前设置的最大值了,一般默认的是1M,所以需要改一下默认配置大小

    message=RequestEntityTooLarge,就说明在客户端上传文件的时候太多或者哪里设置了大小限制

    2020-06-23 01:16:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载