2013-07-09 57 views
0

我試圖通過使用SWFUpload的Uploadify上傳文件。然後當上傳文件> 4GB +時遇到了一些問題,因此開始挖掘。最後導致問題出現在SWFUpload中。 (我不打算用我的大文件上傳,只是好奇的問題)SWFUpload(uploadify)上傳> 2GB +問題,關於整數的Flash問題

它看起來像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瀏覽器?

+0

但我可以成功上傳一個2.9GB的文件 - 怎麼樣? – FlavorScape

+0

32位應用程序的物理I/O請求僅限於2GB/4BG的LFS。也就是說,它只能保留在記憶中。分塊上傳會很好。 – FlavorScape

+0

服務器在配置中通常也有最大的文件大小限制。這就是爲什麼我問你如何上傳2.9 GB的文件。 – FlavorScape

回答

0

如果你正在做的文件大於2GB,你應該把數據字節數組分成多個上傳文件,並重新組裝服務器上的文件。即使像dropbox這樣的商業上傳服務,由於所有用戶的能力不一致,所以限制上傳到2GB的上限。

您可以檢查受到瀏覽器的內存限制:https://superuser.com/questions/354725/how-do-i-change-the-amount-of-memory-flash-can-use-in-chrome

較大的上載都可以用表格/ JS現在完成。特別是JQueryForm將幫助你。

限制可以從任何地方:

可用內存flash插件由於受限於瀏覽器封裝它(出於安全原因)。

內存可用於客戶機。

服務器上可用的內存。

服務器配置錯誤。

as3的初始版本使用了uint而不是數字,因此在文件引用對象的4BG上最大化,因爲大於該值的數字不可表示。

超時:服務器由於設置而簡單地超時執行。

+0

這是AS3,我試過uint,仍然是同樣的問題:/感謝您的回覆,有趣的一個。 –

+0

這是as3在初次發佈時有瑕疵。 – FlavorScape

+0

你仍然沒有說過問題是什麼。你會得到什麼錯誤? – FlavorScape