2010-06-29 62 views
1

我想以某種方式存儲FileReference對象,並在SWF再次加載時加載它。在SharedObject中存儲FileReference

我試圖使用SharedObject類,但它似乎沒有工作。我懷疑由於安全問題(不使用Adobe AIR),我想要做的事不可行,但我想檢查一下。

有沒有人請知道,如果有無論如何存儲FileReference對象,請在SWF重新啓動時加載它?

非常感謝你,

魯迪

+0

恐怕這是不可能的。用戶操作始終是文件系統操作所必需的。 – 2010-06-29 01:44:34

回答

2

我不認爲你可以一個一個FileReference存儲到一個共享對象。或者至少,我不認爲你可以得到文件數據,所以在實踐中沒有太大的區別。

但是,從Flash Player 10開始,FileReference對象中有一個load方法,用於讀取文件(通過data屬性)。

數據以ByteArray的形式訪問,可以序列化並存儲到SO中供以後檢索。所以你可以讓用戶選擇一個文件,讀取它的二進制數據並將其存儲在SO中(默認情況下有100Kb的限制,所以你很可能不得不要求用戶提供一些額外的空間)。

下次您的應用程序加載後,您應該能夠從SO獲取文件數據(假定數據已成功保存且SO未被刪除)。

+0

謝謝你的回答。 問題是用戶選擇了一堆存儲在隊列中的文件。這些文件稍後將被上傳。我真的不想閱讀它們,只是保留一個FileReference,以便在用戶回來時可以稍後上傳。 但我想這是行不通的。 – Rudy 2010-06-29 16:28:00

+0

是的,如果filereference可以被序列化和反序列化,那將是一個安全漏洞。 ByteArray是正確的路徑...(雖然我覺得你的痛苦 - 加載2 GB的視頻文件真的不可行)... – ansiart 2010-06-30 00:38:30