Vis*_*hnu 17 javascript google-chrome
应用程序正在上传大文件.Google Chrome在LocalHost上达到最高800到900Mbps.但Firefox可以达到2Gbps或更高!为什么这么大的差异?将responseType更改为blob有助于GET请求.如何在Google Chrome上更快地上传(POST请求).
function sendRequest(n){
var Self = this;
Self.newTime = Date.now();
Self.Open = new XMLHttpRequest();
Self.Open.upload.onprogress = function(event){
console.log("Upload Pregress")
Self.CurTime = (Date.now() - Self.newTime);
Self.OverallCurTime = (Date.now() - Self.OverallTime) / 1000;
Self.EventData = event.loaded;
Self.EventTotal = event.total;
Self.SpeedData = (parseFloat((8000 * (Self.EventData /Self.CurTime[n]) / 1048576)));
}
Self.Open.open("POST", "upload.bin" + "?n=" + Math.random(), true);
Self.Open.setRequestHeader("Content-Type", "arrayBuffer");
Self.Open.responseType = "blob";
Self.Open.send(Self.UploadData);
}
Run Code Online (Sandbox Code Playgroud)
如果我们可以排除JS引擎速度"Chrome VS Firefox"的差异,那么理论上你的测试用例不应该发生.
我建议你看一下chrome中有关blob的以下开放错误
但只是为了关注错误是你问题的答案的可能性,我还可以向你展示在Firefox中使用Blob的其他错误:
" 具有响应类型"blob"的大数据(大约140MB)的XMLHttpRequest返回一个损坏的文件(blob中大约600M左右的大约600,000字节看起来不正确). "
https://bugzilla.mozilla.org/show_bug.cgi?id=1349862
此外,如果我计算与"blob"这个词有关的错误,那么Firefox只有177个错误,在Chrome中找到VS 751.
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=Blob
归档时间: |
|
查看次数: |
608 次 |
最近记录: |