为了账号安全,请及时绑定邮箱和手机立即绑定

通过HTTP将数据从浏览器流传输到服务器的方法

通过HTTP将数据从浏览器流传输到服务器的方法

当年话下 2019-11-19 15:26:40
是否有任何类似XHR的浏览器API可用于通过HTTP将二进制流传输到服务器?我想提出一个HTTP PUT请求并以编程方式随时间推移创建数据。我不想一次创建所有这些数据,因为可能有大量的数据坐在内存中。一些伪代码来说明我正在得到什么:var dataGenerator = new DataGenerator(); // Generates 8KB UInt8Array every secondvar streamToWriteTo;http.put('/example', function (requestStream) {  streamToWriteTo = requestStream;});dataGenerator.on('data', function (chunk) {  if (!streamToWriteTo) {    return;  }  streamToWriteTo.write(chunk);});我目前有一个Web套接字解决方案,但是我希望使用常规HTTP以便更好地与某些现有服务器端代码互操作。编辑:我可以使用最新的浏览器API。我正在查看Fetch API,因为它支持请求主体的ArrayBuffers,DataViews,Files等。如果我能以某种方式伪造这些对象之一,以便可以将Fetch API与动态数据一起使用,那将对我有用。我尝试创建一个Proxy对象,以查看是否有任何方法可以调用猴子补丁。不幸的是,似乎浏览器(至少在Chrome中)使用本机代码而不是JS语言进行读取。但是,如果我做错了,请纠正我。
查看完整描述

3 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

我目前正在搜索完全相同的东西(通过Ajax上游)。我目前发现的结果似乎就像我们在浏览器功能设计的前沿一样;-)


XMLHttpRequest定义在步骤4中告诉bodyinit,其内容提取是(或可以是)可读流。


我仍在(以非Web开发人员的身份)搜索有关如何创建此类事物并将数据馈入该“可读流”(即应为“可写流”)的“另一端”的信息,但我确实做到了找不到)。


也许您会更好地进行搜索,如果找到了实现这些设计计划的方法,则可以在此处发布。


^ 5

斯文


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 973 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信