有效负载太大 - 向服务器发送大于 1mb 的 base64 图像数组

Posted

技术标签:

【中文标题】有效负载太大 - 向服务器发送大于 1mb 的 base64 图像数组【英文标题】:Payload is too large - sending to the server an array larger than 1mb of base64 images 【发布时间】:2019-06-26 20:17:03 【问题描述】:

基本上,我正在尝试发送一组 base64 图像。检查它的大小,如果数组的长度超过 100 万字节,我在尝试上传数组时收到错误:payload is too large.

我的系统规格: -当地环境 -Reactjs -Mlab 作为数据库 -Strapi 作为无头 CMS -Graphql 查询插件

graphql 查询(不确定是否重要):

obj 是带有 base64 图像数组的对象。

我不确定我应该在哪里尝试更改设置:在strapi 还是 mlab 上?我的环境是本地的,所以它与主机无关。

提前致谢

const response = await strapi.request('POST', '/graphql', 
        data: 
          query: `mutation UpdateExam($input: updateExamInput!) 
            updateExam(input: $input) 
              exam  
                questions 
              
            
          `,
          variables: 
            input: 
              where: 
                id: this.props.match.params.id
              ,
              data: 
                questions: obj
              
            
          
        
      );

编辑:

我已经联系了 strapi 支持团队,但仍然没有 - 而且可能不会,因为已经有几天了 - 收到答复。 我怀疑它是限制json对象大小的节点模块之一,而不是strapi。

另外 - 经过一些研究,我发现一般来说,向服务器发送一个非常大的 json 对象并不是一个好主意,因为它很耗时。所以事实证明,一个 1mb 的 json 对象实际上是相当大的。

我仍然希望听到更有经验的程序员的意见。 谢谢

【问题讨论】:

这个link可以帮助你。我认为我们遇到了同样的问题。 【参考方案1】:

我从未使用过strapi,但我想strapi 配置中必须设置允许的最大文件大小。

【讨论】:

是的,如果您进入管理面板,然后在菜单的插件链接中,您将看到上传插件的 cog。在此页面中,您将能够更新您允许的最大尺寸。如果还不够,请检查您的服务器配置(可以来自这里) 这不工作的家伙。文件上传插件中的设置设置为 50mb,但正如我所说 - 我没有上传文件,我正在发送一个 JSON 对象,所以我猜上传文件插件甚至没有被使用。我没有在 Starpi 上找到任何与最大文件大小上传相关的常规设置。 哦,你的意思是什么服务器?我在本地开发,你认为它可以与 mlab 关联吗?我找不到任何要更改的设置

以上是关于有效负载太大 - 向服务器发送大于 1mb 的 base64 图像数组的主要内容,如果未能解决你的问题,请参考以下文章

我可以向 Bluemix IBM Push Notifications 服务发送的 aps 有效负载添加元素吗?

APNS 无效负载大小,仍然成功

向 FCM API 发送请求时收到无效的 JSON 有效负载

nginx 413 请求实体在上传时太大[加载超过 1Mb 的文件

通过 Cast.CastApi.sendMessage 向 Chromecast 默认媒体接收器发送啥有效负载

Worklight 5.0.6:Ajax 请求异常:向数据适配器发送大数据时表单太大