public static const BINARY:String = "binary"
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает, что загружаемые данные получаются в виде необработанных двоичных данных.
public static const TEXT:String = "text"
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает, что загружаемые данные получаются в виде текста.
public static const VARIABLES:String = "variables"
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает, что загружаемые данные получаются в виде переменных в кодировке URL.
В следующем примере класс 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;
public function URLLoaderDataFormatExample () {
var loader:URLLoader = 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);
}
}
}