为什么Javascript上传块大小会因浏览器而改变?

时间:2013-10-11 07:32:29

标签: javascript http file-upload upload xmlhttprequest

我正在通过javascript代码将文件上传到服务器。我注意到不同的浏览器正在发送不同大小的字节。正如您在下面的图片中看到的那样,Internet Explorer发送的是小字节,但Chrome和Firefox会发送更大的字节。

  1. 我正在使用XMLHttpRequest上传文件。我可以设定标准吗? 上传所有浏览器的字节数?因为不同的流量给予 某些浏览器出错。 Http错误是404.13。
  2. 我将web.config文件配置为<requestLimits maxAllowedContentLength="1073741824">(1GB)但是当我使用Firefox和Chrome上传大文件(500 Mb)时,服务器正在提供system.OutOfMemoryException。 Internet Explorer工作正常。
  3. 火狐

    enter image description here

    Internet Explorer

    enter image description here

    enter image description here

1 个答案:

答案 0 :(得分:1)

我不知道为什么会有所不同,但你可以根据浏览器改变你的行为(而不是你在问题中提出的标准化)。

请参阅moo上传器中的代码作为示例。

来自:https://github.com/juanparati/MooUpload/blob/master/Source/MooUpload.js

    // Get slice method
    if (file.mozSlice)          // Mozilla based
      chunk = file.mozSlice(start, total)
    else if (file.webkitSlice)  // Chrome, Safari, Konqueror and webkit based
      chunk = file.webkitSlice(start, total);
    else                        // Opera and other standards browsers
      chunk = file.slice(start, total)