是否有任何类似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
斯文
添加回答
举报
0/150
提交
取消