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

bar*_*oma 5 javascript upload file-upload http 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工作正常.

火狐

在此输入图像描述

IE浏览器

在此输入图像描述

在此输入图像描述

Jam*_*mey 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)
Run Code Online (Sandbox Code Playgroud)