The URLLoader class downloads data from a URL as text, binary data, or URL-encoded variables. It is useful for downloading text files, XML, or other information to be used in a dynamic, data-driven application.

A URLLoader object downloads all of the data from a URL before making it available to code in the applications. It sends out notifications about the progress of the download, which you can monitor through the `bytesLoaded` and `bytesTotal` properties, as well as through dispatched events.

When loading very large video files, such as FLV's, out-of-memory errors may occur.

When you use this class in Flash Player and in AIR application content in security sandboxes other than then application security sandbox, consider the following security model:

- A SWF file in the local-with-filesystem sandbox may not load data from, or provide data to, a resource that is in the network sandbox.
- By default, the calling SWF file and the URL you load must be in exactly the same domain. For example, a SWF file at www.adobe.com can load data only from sources that are also at www.adobe.com. To load data from a different domain, place a URL policy file on the server hosting the data.

For more information related to security, see the Flash Player Developer Center Topic: Security.

:event

  complete Dispatched after all the received data is decoded and placed in the data property of the URLLoader object. The received data may be accessed once this event has been dispatched.

:event

  httpResponseStatus Dispatched if a call to the load() method attempts to access data over HTTP, and Adobe AIR is able to detect and return the status code for the request.

:event

  httpStatus Dispatched if a call to URLLoader.load() attempts to access data over HTTP. For content running in Flash Player, this event is only dispatched if the current Flash Player environment is able to detect and return the status code for the request.(Some browser environments may not be able to provide this information.) Note that the `httpStatus` event(if any) is sent before(and in addition to) any `complete` or `error` event.

:event

  ioError Dispatched if a call to URLLoader.load() results in a fatal error that terminates the download.

:event

  open Dispatched when the download operation commences following a call to the `URLLoader.load()` method.

:event

  progress Dispatched when data is received as the download operation progresses.

                            Note that with a URLLoader object, it is not
                            possible to access the data until it has been
                            received completely. So, the progress event only
                            serves as a notification of how far the download
                            has progressed. To access the data before it's
                            entirely downloaded, use a URLStream object.

:event

  securityError Dispatched if a call to URLLoader.load() attempts to load data from a server outside the security sandbox. Also dispatched if a call to `URLLoader.load()` attempts to load a SWZ file and the certificate is invalid or the digest string does not match the component.

### Hierarchy

- EventDispatcher
  - URLLoader

### Implements

- IEventDispatcher

## Index

### Constructors

- constructor

### Properties

- bytesLoaded
- bytesTotal
- data
- dataFormat

### Methods

- addEventListener
- close
- dispatchEvent
- hasEventListener
- load
- removeEventListener
- toString
- willTrigger

## Constructors

### constructor

- new URLLoader(request?: URLRequest): URLLoader

- Overrides EventDispatcher.constructor

  - Defined in lib/openfl/net/URLLoader.d.ts:136

  Creates a URLLoader object.

  #### Parameters

  - ##### Optional request: URLRequest

    A URLRequest object specifying the URL to download. If this parameter is omitted, no load operation begins. If specified, the load operation begins immediately(see the `load` entry for more information).

  #### Returns URLLoader

## Properties

### bytesLoaded

bytesLoaded: number

- Defined in lib/openfl/net/URLLoader.d.ts:87

Indicates the number of bytes that have been loaded thus far during the load operation.

### bytesTotal

bytesTotal: number

- Defined in lib/openfl/net/URLLoader.d.ts:95

Indicates the total number of bytes in the downloaded data. This property contains 0 while the load operation is in progress and is populated when the operation is complete. Also, a missing Content-Length header will result in bytesTotal being indeterminate.

### data

data: object

- Defined in lib/openfl/net/URLLoader.d.ts:114

The data received from the load operation. This property is populated only when the load operation is complete. The format of the data depends on the setting of the `dataFormat` property:

If the `dataFormat` property is `URLLoaderDataFormat.TEXT`, the received data is a string containing the text of the loaded file.

If the `dataFormat` property is `URLLoaderDataFormat.BINARY`, the received data is a ByteArray object containing the raw binary data.

If the `dataFormat` property is `URLLoaderDataFormat.VARIABLES`, the received data is a URLVariables object containing the URL-encoded variables.

### dataFormat

dataFormat: URLLoaderDataFormat

- Defined in lib/openfl/net/URLLoader.d.ts:136

Controls whether the downloaded data is received as text (`URLLoaderDataFormat.TEXT`), raw binary data (`URLLoaderDataFormat.BINARY`), or URL-encoded variables (`URLLoaderDataFormat.VARIABLES`).

If the value of the `dataFormat` property is `URLLoaderDataFormat.TEXT`, the received data is a string containing the text of the loaded file.

If the value of the `dataFormat` property is `URLLoaderDataFormat.BINARY`, the received data is a ByteArray object containing the raw binary data.

If the value of the `dataFormat` property is `URLLoaderDataFormat.VARIABLES`, the received data is a URLVariables object containing the URL-encoded variables.

default

  URLLoaderDataFormat.TEXT

## Methods

### addEventListener

- addEventListener(type: string, listener: function, useCapture?: boolean, priority?: number, useWeakReference?: boolean): void

- Inherited from EventDispatcher.addEventListener

  - Defined in lib/openfl/events/EventDispatcher.d.ts:168

  Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. You can register event listeners on all nodes in the display list for a specific type of event, phase, and priority.

  After you successfully register an event listener, you cannot change its priority through additional calls to `addEventListener()`. To change a listener's priority, you must first call `removeListener()`. Then you can register the listener again with the new priority level.

  Keep in mind that after the listener is registered, subsequent calls to `addEventListener()` with a different `type` or `useCapture` value result in the creation of a separate listener registration. For example, if you first register a listener with `useCapture` set to `true`, it listens only during the capture phase. If you call `addEventListener()` again using the same listener object, but with `useCapture` set to `false`, you have two separate listeners: one that listens during the capture phase and another that listens during the target and bubbling phases.

  You cannot register an event listener for only the target phase or the bubbling phase. Those phases are coupled during registration because bubbling applies only to the ancestors of the target node.

  If you no longer need an event listener, remove it by calling `removeEventListener()`, or memory problems could result. Event listeners are not automatically removed from memory because the garbage collector does not remove the listener as long as the dispatching object exists(unless the `useWeakReference` parameter is set to `true`).

  Copying an EventDispatcher instance does not copy the event listeners attached to it.(If your newly created node needs an event listener, you must attach the listener after creating the node.) However, if you move an EventDispatcher instance, the event listeners attached to it move along with it.

  If the event listener is being registered on a node while an event is being processed on this node, the event listener is not triggered during the current phase but can be triggered during a later phase in the event flow, such as the bubbling phase.

  If an event listener is removed from a node while an event is being processed on the node, it is still triggered by the current actions. After it is removed, the event listener is never invoked again(unless registered again for future processing).

  throws

    ArgumentError The `listener` specified is not a function.

  #### Parameters

  - ##### type: string

    The type of event.

  - ##### listener: function

    - - (event: object): void

      - #### Parameters

        - ##### event: object

        #### Returns void

  - ##### Optional useCapture: boolean

    Determines whether the listener works in the capture phase or the target and bubbling phases. If `useCapture` is set to `true`, the listener processes the event only during the capture phase and not in the target or bubbling phase. If `useCapture` is `false`, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call `addEventListener` twice, once with `useCapture` set to `true`, then again with `useCapture` set to `false`.

  - ##### Optional priority: number

    The priority level of the event listener. The priority is designated by a signed 32-bit integer. The higher the number, the higher the priority. All listeners with priority _n_ are processed before listeners of priority _n_-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0.

  - ##### Optional useWeakReference: boolean

    Determines whether the reference to the listener is strong or weak. A strong reference(the default) prevents your listener from being garbage-collected. A weak reference does not.

                            Class-level member functions are not subject to
                            garbage collection, so you can set
                            `useWeakReference` to `true`
                            for class-level member functions without
                            subjecting them to garbage collection. If you set
                            `useWeakReference` to `true`
                            for a listener that is a nested inner function,
                            the function will be garbage-collected and no
                            longer persistent. If you create references to the
                            inner function(save it in another variable) then
                            it is not garbage-collected and stays
                            persistent.

  #### Returns void

### close

- close(): void

- - Defined in lib/openfl/net/URLLoader.d.ts:156

  Closes the load operation in progress. Any load operation in progress is immediately terminated. If no URL is currently being streamed, an invalid stream error is thrown.

  #### Returns void

### dispatchEvent

- dispatchEvent(event: Event): boolean

- Inherited from EventDispatcher.dispatchEvent

  - Defined in lib/openfl/events/EventDispatcher.d.ts:186

  Dispatches an event into the event flow. The event target is the EventDispatcher object upon which the `dispatchEvent()` method is called.

  throws

    Error The event dispatch recursion limit has been reached.

  #### Parameters

  - ##### event: Event

    The Event object that is dispatched into the event flow. If the event is being redispatched, a clone of the event is created automatically. After an event is dispatched, its `target` property cannot be changed, so you must create a new copy of the event for redispatching to work.

  #### Returns boolean

  A value of `true` if the event was successfully dispatched. A value of `false` indicates failure or that `preventDefault()` was called on the event.

### hasEventListener

- hasEventListener(type: string): boolean

- Inherited from EventDispatcher.hasEventListener

  - Defined in lib/openfl/events/EventDispatcher.d.ts:209

  Checks whether the EventDispatcher object has any listeners registered for a specific type of event. This allows you to determine where an EventDispatcher object has altered handling of an event type in the event flow hierarchy. To determine whether a specific event type actually triggers an event listener, use `willTrigger()`.

  The difference between `hasEventListener()` and `willTrigger()` is that `hasEventListener()` examines only the object to which it belongs, whereas `willTrigger()` examines the entire event flow for the event specified by the `type` parameter.

  When `hasEventListener()` is called from a LoaderInfo object, only the listeners that the caller can access are considered.

  #### Parameters

  - ##### type: string

    The type of event.

  #### Returns boolean

  A value of `true` if a listener of the specified type is registered; `false` otherwise.

### load

- load(request: URLRequest): void

- - Defined in lib/openfl/net/URLLoader.d.ts:258

  Sends and loads data from the specified URL. The data can be received as text, raw binary data, or URL-encoded variables, depending on the value you set for the `dataFormat` property. Note that the default value of the `dataFormat` property is text. If you want to send data to the specified URL, you can set the `data` property in the URLRequest object.

  Note: If a file being loaded contains non-ASCII characters(as found in many non-English languages), it is recommended that you save the file with UTF-8 or UTF-16 encoding as opposed to a non-Unicode format like ASCII.

  A SWF file in the local-with-filesystem sandbox may not load data from, or provide data to, a resource that is in the network sandbox.

  By default, the calling SWF file and the URL you load must be in exactly the same domain. For example, a SWF file at www.adobe.com can load data only from sources that are also at www.adobe.com. To load data from a different domain, place a URL policy file on the server hosting the data.

  You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide.

  In Flash Player 10 and later, if you use a multipart Content-Type(for example "multipart/form-data") that contains an upload(indicated by a "filename" parameter in a "content-disposition" header within the POST body), the POST operation is subject to the security rules applied to uploads:

  - The POST operation must be performed in response to a user-initiated action, such as a mouse click or key press.
  - If the POST operation is cross-domain(the POST target is not on the same server as the SWF file that is sending the POST request), the target server must provide a URL policy file that permits cross-domain access.

  Also, for any multipart Content-Type, the syntax must be valid (according to the RFC2046 standards). If the syntax appears to be invalid, the POST operation is subject to the security rules applied to uploads.

  For more information related to security, see the Flash Player Developer Center Topic: Security.

  throws

    ArgumentError `URLRequest.requestHeader` objects may not contain certain prohibited HTTP request headers. For more information, see the URLRequestHeader class description.

  throws

    MemoryError This error can occur for the following reasons: 1) Flash Player or AIR cannot convert the `URLRequest.data` parameter from UTF8 to MBCS. This error is applicable if the URLRequest object passed to `load()` is set to perform a `GET` operation and if `System.useCodePage` is set to `true`. 2) Flash Player or AIR cannot allocate memory for the `POST` data. This error is applicable if the URLRequest object passed to `load` is set to perform a `POST` operation.

  throws

    SecurityError Local untrusted files may not communicate with the Internet. This may be worked around by reclassifying this file as local-with-networking or trusted.

  throws

    SecurityError You are trying to connect to a commonly reserved port. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide.

  throws

    TypeError The value of the request parameter or the `URLRequest.url` property of the URLRequest object passed are `null`.

  :event

    complete Dispatched after data has loaded successfully.

  :event

    httpResponseStatus Dispatched if a call to the `load()` method attempts to access data over HTTP and Adobe AIR is able to detect and return the status code for the request.

  :event

    httpStatus If access is over HTTP, and the current Flash Player environment supports obtaining status codes, you may receive these events in addition to any `complete` or `error` event.

  :event

    ioError The load operation could not be completed.

  :event

    open Dispatched when a load operation commences.

  :event

    progress Dispatched when data is received as the download operation progresses.

  :event

    securityError A load operation attempted to retrieve data from a server outside the caller's security sandbox. This may be worked around using a policy file on the server.

  :event

    securityError A load operation attempted to load a SWZ file(a Adobe platform component), but the certificate is invalid or the digest does not match the component.

  #### Parameters

  - ##### request: URLRequest

    A URLRequest object specifying the URL to download.

  #### Returns void

### removeEventListener

- removeEventListener(type: string, listener: function, useCapture?: boolean): void

- Inherited from EventDispatcher.removeEventListener

  - Defined in lib/openfl/events/EventDispatcher.d.ts:227

  Removes a listener from the EventDispatcher object. If there is no matching listener registered with the EventDispatcher object, a call to this method has no effect.

  #### Parameters

  - ##### type: string

    The type of event.

  - ##### listener: function

    - - (event: object): void

      - #### Parameters

        - ##### event: object

        #### Returns void

  - ##### Optional useCapture: boolean

    Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to `removeEventListener()` are required to remove both, one call with `useCapture()` set to `true`, and another call with `useCapture()` set to `false`.

  #### Returns void

### toString

- toString(): string

- Inherited from EventDispatcher.toString

  - Defined in lib/openfl/events/EventDispatcher.d.ts:230

  #### Returns string

### willTrigger

- willTrigger(type: string): boolean

- Inherited from EventDispatcher.willTrigger

  - Defined in lib/openfl/events/EventDispatcher.d.ts:253

  Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. This method returns `true` if an event listener is triggered during any phase of the event flow when an event of the specified type is dispatched to this EventDispatcher object or any of its descendants.

  The difference between the `hasEventListener()` and the `willTrigger()` methods is that `hasEventListener()` examines only the object to which it belongs, whereas the `willTrigger()` method examines the entire event flow for the event specified by the `type` parameter.

  When `willTrigger()` is called from a LoaderInfo object, only the listeners that the caller can access are considered.

  #### Parameters

  - ##### type: string

    The type of event.

  #### Returns boolean

  A value of `true` if a listener of the specified type will be triggered; `false` otherwise.

Generated using TypeDoc