【问题标题】:Why Javascript upload chunk sizes change by browser?为什么 Javascript 上传块大小会随浏览器变化?
【发布时间】:2013-10-19 05:01:42
【问题描述】:
我正在通过 javascript 代码将文件上传到服务器。我注意到不同的浏览器发送不同大小的字节。如下图所示,Internet Explorer 发送的是小字节,而 Chrome 和 Firefox 发送的是更大的字节。
- 我正在使用 XMLHttpRequest 上传文件。我可以设定标准吗
为所有浏览器上传字节?因为不同大小的流量给
某些浏览器上的错误。 Http 错误是 404.13。
- 我将 web.config 文件配置为
<requestLimits maxAllowedContentLength="1073741824">(1GB),但是当我使用 Firefox 和 Chrome 上传一个大文件 (500 Mb) 时,服务器出现 system.OutOfMemoryException。 Internet Explorer 运行良好。
火狐
Internet Explorer
铬
【问题讨论】:
标签:
javascript
http
file-upload
upload
xmlhttprequest
【解决方案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)