谷歌浏览器上传速度与Firefox

时间:2016-07-09 10:57:47

标签: 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);

    }

1 个答案:

答案 0 :(得分:5)

如果我们可以排除与JS引擎速度的差异" Chrome VS Firefox,理论上你的测试用例不应该发生。

我建议你看一下chrome中关于blob的以下开放错误

https://bugs.chromium.org/p/chromium/issues/list?can=2&q=blob&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids

但是只是为了关注错误可能是你问题的答案,我还可以在Firefox中向你展示使用Blob的其他错误:

" XMLHttpRequest大数据(约140MB),响应类型" blob"返回一个损坏的文件(blob中大约600M左右的blob大约600,000字节显示不正确)。"

https://bugzilla.mozilla.org/show_bug.cgi?id=1349862

此外,如果我计算与单词" blob"相关的错误,那么Firefox在Chrome中只发现了177个错误VS 751。

https://bugzilla.mozilla.org/buglist.cgi?quicksearch=Blob