不用大量内存就可以创建和发送大量数据的Javascript方法

问题描述 投票:1回答:1

我正在测试设备的上传速度!所以我需要一些数据发送到服务器。我在这里创建一些数据。

var Send = new Blob([new ArrayBuffer(5e+8)], {type: 'application/octet-stream'});

现在我将其发送到服务器

var xhr = new XMLHttpRequest;
xhr.open("POST", 'http://192.168.1.10/v4/upload', true);
xhr.send(Send)

问题是,当我尝试从Safari iPhone 6S上传90Mb或更多数据时。正在重新调整错误

“”加载资源失败:WebKit遇到内部错误“”

这取决于页面的大小等。从空白页面在iPhone 6S上的Safari管理成功发送多达100Mb的数据。但是我需要大量的数据,例如500Mb或1Gb。

Mac / Windows上的台式机Chrome / Safari / FF / IE允许超过500Mb的数据。

var Send = new Blob([new ArrayBuffer(5e+8)], {type: 'application/octet-stream'});
var xhr = new XMLHttpRequest;
xhr.open("POST", 'http://192.168.1.10/v4/upload', true);
xhr.send(Send);

我如何在不使用过多内存的情况下创建大量数据。我也需要使用XHR2发送它。没有WSS等。

无论如何我们可以做到这一点?

javascript
1个回答
0
投票

我真的建议使用WebRTC API传输大数据块,这意味着它适用于移动设备和PC:请查看此示例进行文件传输:

这是其工作方式的example,并在github repo中检查代码示例。

© www.soinside.com 2019 - 2024. All rights reserved.