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