【问题标题】:Single Http Request to get multiple file data Parse.com单个 Http 请求获取多个文件数据 Parse.com
【发布时间】:2020-06-29 09:00:51
【问题描述】:

我正在使用 Back4app。

我的个人资料类架构有 4 个包含图片的文件列。 因此,当我检索一个对象时,我必须对每个文件 URL 发出 HTTP 请求,并像这样获取字节数据。

const data = await Parse.Cloud.httpRequest({url:profilePhoto.url()});
return data.buffer.toString('base64');

但是对于所有四个文件,我必须向服务器发出 4 个 HTTP 请求。 无论如何做一个批处理 HTTP 请求,这样我只需 1 个请求就可以获取所有 4 个文件的数据? 我的主要目标是尽可能减少对服务器的请求。

【问题讨论】:

  • 您可以连接文件流,然后客户端必须知道在哪里拆分它们,或者,因为您正在执行 base64 编码,所以返回 base64 格式的文件数组。开箱即用的 HTTP 1.1 没有此功能。 HTTP2 有它
  • 嗨@ManuelSpigolon 谢谢你的评论,但你能提供一些关于如何去做的代码吗?我对这一切都很陌生,所以一个代码示例会很有帮助
  • 我不知道解析,我知道原始 node.js 和后端架构
  • 您可以获得一个写入流,将多个文件写入单个写入流,同时使用管道将单个流连接到 http 响应。 github.com/aheckmann/gridfs-stream/issues/18 是 P1 stackoverflow.com/questions/11906198/… 是 P2

标签: node.js parse-platform parse-cloud-code back4app


【解决方案1】:

在 Parse Server 中,没有一种开箱即用的方法可以通过一个请求检索多个文件。

您可以实现自己的 Parse Cloud Code 函数来检索多个文件,但您必须在服务器端手动组合它们并在客户端分离它们​​。

作为起点,您可以查看像 multistream 这样的包,这些包允许您将多个文件流合并为一个以获得一些灵感。

【讨论】:

  • 是的,我也发现无法通过一个请求检索多个文件,因为我们正在讨论文件,并且每个文件必须发生一个请求。
猜你喜欢
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-29
  • 2016-03-20
  • 2016-03-29
  • 1970-01-01
  • 2019-11-23
相关资源
最近更新 更多