套件 | flash.net |
類別 | public final class URLLoaderDataFormat |
繼承 | URLLoaderDataFormat Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
公用常數
常數 | 定義自 | ||
---|---|---|---|
BINARY : String = "binary" [靜態]
會指定以原始二進位資料的形式接收下載的資料。 | URLLoaderDataFormat | ||
TEXT : String = "text" [靜態]
會指定以文字的形式接收下載的資料。 | URLLoaderDataFormat | ||
VARIABLES : String = "variables" [靜態]
會指定以 URL 編碼的變數形式接收下載的資料。 | URLLoaderDataFormat |
常數詳細資訊
BINARY | 常數 |
public static const BINARY:String = "binary"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會指定以原始二進位資料的形式接收下載的資料。
TEXT | 常數 |
public static const TEXT:String = "text"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會指定以文字的形式接收下載的資料。
VARIABLES | 常數 |
public static const VARIABLES:String = "variables"
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
會指定以 URL 編碼的變數形式接收下載的資料。
範例 如何使用本範例
URLLoaderDataFormatExample.as
下列範例會使用 URLLoaderDataFormatExample 類別,顯示在執行階段下載之檔案的資料格式和狀態資訊。 這是透過下列步驟完成:
- 類別建構函式會建立 URLLoader 實體
loader
和 URLRequest 實體request
,其中包含要載入之檔案的位置與檔名。 - 將
loader
物件傳遞給configureListeners()
方法,再將偵聽程式加入每一個支援的 URLLoader 事件:completeHandler()
會偵聽complete
事件,並在成功載入 TextFile.txt 後將事件送出。openHandler()
會偵聽open
事件,並在開始下載 TextFile.txt (至播放程式) 時將事件送出。progressHandler()
會偵聽progress
事件,並在下載作業進行中收到資料時將事件送出。securityErrorHandler()
會偵聽securityError
事件,並在使用錯誤的本機播放安全性設定存取文字檔案時將事件送出。httpStatusHandler()
會偵聽httpStatusHandler
事件,並在因為 TextFile.txt 是位於本機的情況下不將事件送出。ioErrorHandler()
會偵聽ioError
事件,並只在發生嚴重的檔案問題 (如檔案已經遺失) 時將事件送出。
- 接著將
request
物件傳遞給loader.load()
方法,再使用DisplayObject
物件將文字檔案載入記憶體。
注意:
- 在編譯 SWF 檔時,您必須將「本機播放安全性」設定為「只存取本機檔案」。
- 這個範例會要求名為 TextFile.txt 的檔案與 SWF 檔放置於相同的目錄中。 如果您要讓此範例識別二進位或 URL 編碼資料檔案,就必須以適當的格式提供檔案,並將 TextFile.txt 改為新檔案的名稱和位置。
package { import flash.display.Sprite; import flash.events.*; import flash.net.*; public class URLLoaderDataFormatExample extends Sprite { private var source:String = "TextFile.txt"; private var dataFormat:String = URLLoaderDataFormat.TEXT; private var loader:URLLoader; public function URLLoaderDataFormatExample () { loader = new URLLoader(); loader.dataFormat = dataFormat; configureListeners(loader); var request:URLRequest = new URLRequest(source); try { loader.load(request); } catch (error:Error) { trace("Error loading requested document: " + source); } } private function configureListeners(dispatcher:URLLoader):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var loader:URLLoader = URLLoader(event.target); switch(loader.dataFormat) { case URLLoaderDataFormat.TEXT : trace("completeHandler (text): " + loader.data); break; case URLLoaderDataFormat.BINARY : trace("completeHandler (binary): " + loader.data); break; case URLLoaderDataFormat.VARIABLES : trace("completeHandler (variables): " + loader.data); break; } } private function httpStatusHandler(event:Event):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } } }
Tue Jun 12 2018, 03:47 PM Z