0

我试图通过使用 SWFUpload 的 Uploadify 上传文件。然后我在上传文件> 4GB +时遇到了一些问题,所以开始挖掘。我最终得出的结果是问题出在 SWFUpload 中。(我不打算用它来上传我的大文件,只是好奇的问题)

看起来 SWFUpload 的限制为 2147483647 字节。但我可以成功上传一个 2.9GB 的文件。我联系了开发人员,他告诉我,我应该尝试用更新的 Flash Player 10、11 或 11.7 编译它(SWFUpload 是在 Flash Player 9 下编译的)(但他不记得更多了,因为停止开发这个插件多年以前,他很困惑我如何上传 2.9GB 文件)。我已经下载了在 32 位 Windows 和最新版本的 Flash Player 下编译的所有内容,没有任何改变。变量是:数字,所以它应该取大于 2147483647 的数字,但没有成功。

(请注意:我对Flash了解不多)

那么问题来了:这个限制从何而来?这是 32/64 位编译器,还是 32/64 位 Flash Player?还是 32/64 位浏览器?甚至有 x64 浏览器吗?

4

1 回答 1

0

如果您正在处理大于 2GB 的文件,您应该将数据字节数组分解为多个上传文件并在服务器上重新组合文件。由于所有用户超过该大小的能力不一致,甚至像 Dropbox 这样的商业上传服务也将上传限制为 2GB。

您可以检查浏览器施加的内存限制:https ://superuser.com/questions/354725/how-do-i-change-the-amount-of-memory-flash-can-use-in-chrome

大型上传现在都可以使用 forms/js 完成。特别是 JQueryForm 会帮助你。

限制可能来自任何地方:

Flash 插件可用的内存受封装它的浏览器的限制(出于安全原因)。

客户端计算机可用的内存。

服务器上可用的内存。

服务器配置错误。

as3 的初始版本使用 uint 而不是 number,因此文件引用对象的最大值为 4BG,因为大于该数字的数字无法表示。

超时:由于设置,服务器只是将执行超时。

于 2013-07-09T21:34:42.083 回答