SWFUpload(uploadify)上传> 2GB +问题,关于整数的flash问题

时间:2013-07-09 18:34:17

标签: flash

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

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

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

所以问题是:这个限制来自哪里?这是32/64位编译器,还是32/64位Flash Player?还是32/64位浏览器?还有x64浏览器吗?

1 个答案:

答案 0 :(得分: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会帮助你。

限制可能来自任何地方:

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

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

服务器上可用的内存。

服务器配置错误。

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

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