FileReference 新增save方法介紹
來自: http://www.hetao.name/flex-zhuan-lan/flexbaocunwenjianfilereferencesave
這個方法是flash10新增的,詳細如下:
save () 方法
public function save(data:*, defaultFileName:String = null):void
語言版本: ActionScript 3.0
運行時版本: Flash Player 10, AIR 1.5
打開一個對話框,允許用戶將文件保存到本地文件系統。雖然 Flash Player 沒有限制可上載、下載、加載或保存的文件的大小,但是播放器正式支持的文件大小最大為 100 MB。
save() 方法首先打開一個操作系統對話框,讓用戶輸入文件名并在本地計算機上選擇用于保存文件的位置。當用戶選擇了位置并確認保存操作時(例如通過單擊“保存”),保存過程即會開始。偵聽器接收事件來指示保存操作的進度、成功或失敗。為了在調用 save() 后確定對話框和保存操作的狀態,ActionScript 代碼必須對 cancel、open、progress 和 complete 等事件進行偵聽。
FileReference.upload()、FileReference.download()、FileReference.load() 和 FileReference.save() 函數均不分塊。這些函數在調用之后即返回,而不會等待文件傳輸完成。此外,如果 FileReference 對象離開作用域,則該對象中尚未完成的任何事務將在離開作用域時被取消。只要希望上載、下載、加載或保存能繼續,就應確保將 FileReference 對象保留在作用域中。
在成功保存文件之后,將使用本地文件的屬性填充 FileReference 對象的屬性。如果保存成功,將調度 complete 事件。
每次只能執行一個 browse() 或 save() 會話(因為每次只能調用一個對話框)。
在 Flash Player 中,只有在響應用戶事件(例如,在鼠標單擊或按鍵事件的事件處理函數中)時才能成功調用此方法。否則,調用此方法將導致 Flash Player 引發 Error 異常。此限制不適用于應用程序沙箱中的 AIR 內容。
參數
data:* — 要保存的數據。數據可以采用幾種格式之一,并將進行適當處理:
* 如果值為 null,則應用程序將引發 ArgumentError 異常。
* 如果值為 String,則將其保存為 UTF-8 文本文件。
* 如果值為 XML,則會以 XML 格式將其寫入到文本文件,并保留所有格式設置。
* 如果值為 ByteArray 對象,則會將其逐字寫入到數據文件。
* 如果值并非以上任何一種,則 save() 方法將調用對象的 toString() 方法,將數據轉換為字符串,然后將數據保存為文本文件。如果該操作失敗,則應用程序將引發 ArgumentError 異常。
defaultFileName:String (default = null) — 對話框中顯示的要保存文件的默認文件名。此字符串不能包含以下字符:/ \ : * ? " < > | %
如果 File 對象調用此方法,則文件名將為 File 對象所引用文件的名稱。(AIR File 類擴展了 FileReference 類。)
事件
open:Event — 當下載操作開始時調度。
progress:ProgressEvent — 在文件下載操作期間進行定期調度。
complete:Event — 當文件下載操作成功完成時調度。
cancel:Event — 當用戶取消對話框時調度。
select:Event — 當用戶從對話框中選擇要下載的文件時調度。
ioError:IOErrorEvent — 讀取或傳輸文件期間發生輸入/輸出錯誤時調度。
引發
IllegalOperationError — 在以下情況下引發:1) 另一個瀏覽會話正在進行中;每次僅能執行一個文件瀏覽會話。2) 要下載的文件的名稱中包含禁止使用的字符。3) 用戶 mms.cfg 文件中的某個設置禁止此操作。
ArgumentError — 如果 data 的類型不是 ByteArray,并且不具有 toString() 方法,則將引發異常。如果 data 的類型不是 XML,并且不具有 toXMLString() 方法,則將引發異常。
Error — 為了響應用戶動作(如鼠標事件或按鍵事件),將不會調用此方法。
MemoryError — 如果 Flash Player 無法為該文件分配內存,則可能會發生此錯誤。文件可能太大,或者可用的內存可能太小。
http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/net/FileReferenceList.html#browse%28%29
轉載地址 ;http://hbing110.javaeye.com/blog/423953