| 套件 | 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
隱藏繼承公用屬性
顯示繼承公用屬性