public static const BINARY:String = "binary"
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Specifica che i dati scaricati vengono ricevuti sotto forma di dati binari originari.
public static const TEXT:String = "text"
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Specifica che i dati scaricati vengono ricevuti sotto forma di testo.
public static const VARIABLES:String = "variables"
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Specifica che i dati scaricati vengono ricevuti sotto forma di variabili con codifica URL.
Nell'esempio seguente viene utilizzata la classe URLLoaderDataFormatExample per visualizzare il formato dati e le informazioni sullo stato di un file caricato in fase di runtime. Questa operazione viene eseguita mediante la procedura seguente:
- La funzione di costruzione della classe crea un'istanza URLLoader di nome
loader e un'istanza URLRequest di nome request, che contiene la posizione e il nome del file da caricare.
- L'oggetto
loader viene passato al metodo configureListeners() che aggiunge i listener per ognuno degli eventi URLLoader supportati:
completeHandler(): intercetta l'evento complete che viene inviato dopo che TextFile.txt è stato caricato correttamente.
openHandler(): intercetta l'evento open, inviato all'inizio dello scaricamento (nel lettore) di TextFile.txt.
progressHandler(): intercetta gli eventi progress, che vengono inviati quando vengono ricevuti i dati mentre è in corso l'operazione di scaricamento.
securityErrorHandler(): intercetta gli eventi securityError che verrebbero inviati se si accedesse al file di testo con l'impostazione di sicurezza per la riproduzione locale non corretta.
httpStatusHandler(): intercetta gli eventi httpStatusHandler, che in questo caso non vengono inviati poiché TextFile.txt è locale.
ioErrorHandler(): intercetta gli eventi ioError, che si verificano solo in presenza di un problema grave del file, ad esempio se il file è mancante.
- Quindi, l'oggetto
request viene passato al metodo loader.load(), che carica il file di testo in memoria mediante un oggetto DisplayObject.
Note:
- È necessario compilare il file SWF con "Sicurezza riproduzione locale" impostato su "Accedi solo ai file locali".
- Questo esempio richiede che un file di nome TextFile.txt venga collocato nella stessa directory del file SWF. Se si desidera che l'esempio identifichi file di dati binari o con codifica URL, è necessario fornire il file nel formato dati appropriato e modificare TextFile.txt con il nome e il percorso del nuovo file.
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);
}
}
}