9***@qq.com
9***@qq.com
  • 发布:2020-07-27 10:06
  • 更新:2022-08-05 16:09
  • 阅读:4538

【报Bug】uni.request发起POST请求,app端数据超过1m就会报错request entity too large。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.5

HBuilderX类型: 正式

HBuilderX版本号: 2.7.14

手机系统: iOS

手机系统版本号: iOS 13.2

手机厂商: 苹果

手机机型: iphone xr

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

管理员查看附件,直接运行项目测试

预期结果:

管理员查看附件,直接运行项目测试

实际结果:

管理员查看附件,直接运行项目测试

bug描述:

uni.request发起POST请求,数据超过1m就会报错request entity too large。
仅在app端(ios,安卓)下会这样,测试了h5和小程序超过1m也不会出现这个问题。
复现例子在附件的zip包,直接解压,运行到app端,点击上传1m以上的图片即可复现。

2020-07-27 10:06 负责人:DCloud_UNI_FXY 分享
已邀请:

最佳回复

jxtian

jxtian

找到原因了,不是bug, 相同情况的可以参考一下:

  • “request entity too large” 不是 uni.request的报错, Hbuilder 控制打印内容不能超过1M。
  • 你在控制台打印了很多图片的base64,超过1M导致 uni.request 回调也没有打印出来。
  • 超过1M 能上传,检查一下服务器有没有图片。
  • 9***@qq.com (作者)

    看下我的最新回复,并不是这个原因

    2020-07-28 22:32

  • 9***@qq.com (作者)

    报错request entity too large之后,就直接停了,一直到 Uncaught (in promise) {errMsg: "request:fail timeout"}

    2020-07-28 22:33

  • 9***@qq.com (作者)

    已经更新了附件,把console.log全部注释了,测试了一样上传不了 同样的报错,附近的包可以直接运行,上传多张1m大的照片提交测试

    2020-07-28 22:43

  • DCloud_iOS_XHY

    回复 9***@qq.com: 再补充一点:debug调试时所有数据都会从手机端传输到 debug服务端,这个 request entity too large 就是这个环节报的错,还没有到 uni.request 这一步,可以把debug关了,正常的运行测试一下

    2020-07-29 11:03

  • 9***@qq.com (作者)

    回复 DCloud_iOS_XHY: 请问怎么把debug关闭?

    2020-07-29 11:18

  • jxtian

    回复 9***@qq.com: 不使用debug即可,用HX控制台查看打印信息

    2020-07-29 11:20

  • 9***@qq.com (作者)

    回复 jxtian: 我擦 果然!解决了!谢谢大佬

    2020-07-29 11:27

  • 9***@qq.com

    回复 jxtian: 那我要调试岂不是不可以?确实是debug一开就有问题,但是app要调试就要用到这个呀,预计什么时候可以修复?

    2020-07-29 15:16

9***@qq.com

9***@qq.com - 汉库克

我刚刚也出现了这个问题,不知道是不是更新的原因

  • 9***@qq.com (作者)

    我这一直都存在这个问题。。

    2020-07-27 10:38

  • 9***@qq.com

    回复 9***@qq.com: 我今天才发现的,之前好像都没有这个问题

    2020-07-27 10:42

jxtian

jxtian

真机测试也这样吗?测试了一下真机没复现

  • 9***@qq.com (作者)

    确定上传的图片大于1m或以上吗,真机测试也会的,我用ios模拟器,安卓模拟器,苹果真机,安卓真机都测试过,数据大些就会了,你多勾选几张图片,并且确保图片数据大于1m或以上试试

    2020-07-27 11:29

  • 9***@qq.com

    我这边是安卓真机展示大图的时候,会出现这样,把图片image展示在页面上。然后就会报这个错误

    2020-07-27 11:50

  • 9***@qq.com (作者)

    回复 9***@qq.com: 有一个画布的接口,如果数据过大也会这样

    2020-07-27 16:26

  • 9***@qq.com

    回复 9***@qq.com: 谢谢,我试试

    2020-07-28 11:08

jxtian

jxtian

已确认bug,等待处理。

  • lzzzzz

    最新版本登陆不上,打不了包,好多人在反映问题了,可以解决一下吗?

    2020-07-28 11:48

  • jxtian

    回复 lzzzzz: 重新下载一下hx最新版,已正常

    2020-07-28 13:32

  • 9***@qq.com

    回复 jxtian: request entity too large 我也遇到了,就是用一张图片渲染出来,然后你不用真机调试他可以看,但是你真机调试,图片就出不来了。然后控制台也会报request entity too large错

    2020-07-28 18:26

9***@qq.com

9***@qq.com (作者)

按照你说的是是 Hbuilder 控制打印内容不能超过1M。
我把页面得所有console.log都去掉了,重新测试了一下,还是一样的结果,点击请求uni.request,马上报错,确认没有任何base64的console.log了

DCloud_UNI_FXY

DCloud_UNI_FXY

下个版本修复此问题

3***@qq.com

3***@qq.com

我也出现同样的问题 在app端录像后 将视频文件的base64格式用post请求时 直接出现

之后也是卡在那里 直接请求超时

1***@qq.com

1***@qq.com

现在 哪个版本现在不会出现这个bug

该问题目前已经被锁定, 无法添加新回复