ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.net 

URLLoaderDataFormat  - AS3

Packageflash.net
Classpublic final class URLLoaderDataFormat
InheritanceURLLoaderDataFormat Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

The URLLoaderDataFormat class provides values that specify how downloaded data is received.

View the examples



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
Public Methods
 MethodDefined By
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
  BINARY : String = "binary"
[static] Specifies that downloaded data is received as raw binary data.
URLLoaderDataFormat
  TEXT : String = "text"
[static] Specifies that downloaded data is received as text.
URLLoaderDataFormat
  VARIABLES : String = "variables"
[static] Specifies that downloaded data is received as URL-encoded variables.
URLLoaderDataFormat
Constant Detail

BINARY

Constant
public static const BINARY:String = "binary"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Specifies that downloaded data is received as raw binary data.

TEXT

Constant 
public static const TEXT:String = "text"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Specifies that downloaded data is received as text.

VARIABLES

Constant 
public static const VARIABLES:String = "variables"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Specifies that downloaded data is received as URL-encoded variables.

URLLoaderDataFormatExample.as

The following example uses the URLLoaderDataFormatExample class to display data format and status information for a file loaded at runtime. This is accomplished using the following steps:
  1. The class constructor creates a URLLoader instance named loader and a URLRequest instance named request, which is the location and name of the file to be loaded.
  2. The loader object is passed to the configureListeners() method, which adds listeners for each of the supported URLLoader events:
    • completeHandler(): listens for the complete event, which is dispatched after TextFile.txt has successfully loaded.
    • openHandler(): listens for the open event, dispatched upon start of the download (to the player) of TextFile.txt.
    • progressHandler(): listens for the progress events, dispatched when data is received as the download operation progresses.
    • securityErrorHandler(): listens for securityError events, which would be dispatched if the text file was accessed with the wrong local playback security setting.
    • httpStatusHandler(): listens for httpStatusHandler events, which will not be dispatched in this case since TextFile.txt is local.
    • ioErrorHandler(): listens for ioError events, which would happen only if there were a serious problem with the file, such as if it were missing.
  3. The request object is then passed to the loader.load() method, which loads the text file into memory using a DisplayObject object.

Notes:

  • You will need to compile the SWF file with "Local playback security" set to "Access local files only".
  • This example requires that a file named TextFile.txt be placed in the same directory as your SWF file. If you would like to see this example identify binary or URL-encoded data files, you will need to provide the file in the proper data format and change TextFile.txt to the name and location of the new 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;
        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);
        }
    }
}