This page was saved using jaction on 2006-09-04 8:34:11.
Address: http://flexdocs.kr/docs/flex2/langref/flash/net/URLLoader.html
Title: flash.net.URLLoader (Flex™ 2 레퍼런스 가이드)  •  Size: 62554
Packageflash.net
Classpublic class URLLoader
InheritanceURLLoader Inheritance EventDispatcher Inheritance Object

URLLoader 클래스는, 지정한 URL 로부터 텍스트, 바이너리 데이터, 또는 URL encode 형식의 변수를 다운로드할 때에 사용합니다. 동적인 데이터 구동 어플리케이션으로 사용하는 텍스트 파일, XML, 그 외의 정보를 다운로드하는 경우에 편리합니다.

URLLoader object는, 데이터를 ActionScript 로 사용할 수 있도록(듯이) 하기 전에, 그러한 모든 데이터를 URL 로부터 다운로드합니다. URLLoader object는, 다운로드의 진척에 관한 통지를 송신합니다. 이것들은, dispatch 끝난 이벤트, 또 bytesLoadedbytesTotal property로 감시할 수 있습니다.

url Parameters에 건네주는 값은, 디폴트에서는, 같은 도메인에 놓여져 있을 필요가 있습니다. 예를 들어 www.adobe.com 에 놓여져 있는 SWF 파일은, www.adobe.com 에 놓여져 있는 소스로부터로만 데이터를 로드할 수 있습니다. 다른 도메인으로부터 데이터를 로드하는 경우는, SWF 파일을 호스트 하는 서버에 크로스 도메인 policy 파일을 놓아둘 필요가 있습니다.

이 Methods를 사용할 때는, Adobe® Flash® Player 시큐러티 모델을 고려해 주세요.

Flash Player 8 이후 :

Flash Player 7 이후 :

상세한 것에 대하여는, 다음의 주제를 참조해 주세요.

Flash Player 7 보다 전의 버젼의 Player 로 SWF 파일을 실행하고 있는 경우,url 는, 호출원의 SWF 파일과 같은 super 도메인에 속하고 있을 필요가 있습니다. super 도메인은, 파일의 URL 의 좌단의 요소를 삭제하는 것으로 요구됩니다. 예를 들어, www.adobe.com 에 존재하는 SWF 파일은, store.adobe.com 에 존재하는 소스로부터 데이터를 로드할 수 있습니다. 이것은, 어느 쪽의 파일도 같은 super 도메인 adobe.com 에 속하고 있기 (위해)때문에입니다.

View the examples

See also

URLRequest
URLVariables
URLStream
외부 XML 문서의 read
외부 데이터의 조작


Public property
 property정의
  bytesLoaded : uint = 0
로드 조작중에, 이미 로드 끝난 데이터의 바이트수를 나타냅니다.
URLLoader
  bytesTotal : uint = 0
다운로드 데이터의 합계 바이트수를 나타냅니다.
URLLoader
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  data : *
로드 조작에 의해 수신한 데이터입니다.
URLLoader
  dataFormat : String = "text"
다운로드한 데이터가 텍스트 (URLLoaderDataFormat.TEXT), 생의 바이너리 데이터 (URLLoaderDataFormat.BINARY), 또는 URL encode 된 변수 (URLLoaderDataFormat.VARIABLES)의 머지않아인지를 제어합니다.
URLLoader
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
Public Methods
 Methods정의
  URLLoader (request:URLRequest = null)
URLLoader object를 작성합니다.
URLLoader
 InheritedaddEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
EventDispatcher
  close ():void
진행중의 로드 조작은 즉시 종료합니다.
URLLoader
 InheriteddispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
EventDispatcher
 InheritedhasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
EventDispatcher
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
  load (request:URLRequest ):void
지정된 URL 로부터 데이터를 송신 및 로드합니다.
URLLoader
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedremoveEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
EventDispatcher
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
 InheritedtoString ():String
지정된 object의 string 표현을 돌려줍니다.
Object
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
 InheritedwillTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
EventDispatcher
이벤트
 이벤트일람정의
  complete 수신한 모든 데이터가 디코드되어 URLLoader object의 data property에 배치된 후에 dispatch됩니다. URLLoader
  httpStatus URLLoader.load() 를 호출해 HTTP 를 개입시켜 데이터에 액세스를 시도해 현재의 Flash Player 환경에서 요구의 스테이터스 코드를 검출해 돌려줄 수가 있는 경우에 dispatch됩니다URLLoader
  ioError URLLoader.load() 의 호출에 의해 다운로드가 종료한다고 하는 값명적인 에러가 발생하는 경우에 dispatch됩니다. URLLoader
  open URLLoader.load() Methods의 호출에 의해 다운로드 처리가 개시되면 dispatch됩니다. URLLoader
  progress 다운로드 처리를 실행중에 데이터를 수신했을 때에 dispatch됩니다. URLLoader
  securityError URLLoader.load() 의 호출에 의해 시큐러티 샌드 박스의 외부에 있는 서버로부터 데이터를 로드하려고 하면 dispatch됩니다. URLLoader
property의 상세
bytesLoadedproperty
public var bytesLoaded:uint = 0

로드 조작중에, 이미 로드 끝난 데이터의 바이트수를 나타냅니다.

bytesTotalproperty 
public var bytesTotal:uint = 0

다운로드 데이터의 합계 바이트수를 나타냅니다. 이 property는, 로드 조작의 진행중은 0 을 포함해, 조작이 완료한 시점에서 설정됩니다.

dataproperty 
public var data:*

로드 조작에 의해 수신한 데이터입니다. 이 property는, 로드 조작이 완료했을 때에만 설정됩니다. 데이터의 형식은,dataFormat property의 설정에 의해 정해집니다.

dataFormat property가 URLLoaderDataFormat.TEXT 의 경우, 받는 데이터는, 로드 된 파일의 텍스트를 포함한 string입니다.

dataFormat property가 URLLoaderDataFormat.BINARY 의 경우, 받는 데이터는, 생의 바이너리 데이터를 포함한 ByteArray object입니다.

dataFormat property가 URLLoaderDataFormat.VARIABLES 의 경우, 받는 데이터는, URL encode 된 변수를 포함한 URLVariables object입니다.

See also

dataFormatproperty 
public var dataFormat:String = "text"

다운로드한 데이터가 텍스트 (URLLoaderDataFormat.TEXT), 생의 바이너리 데이터 (URLLoaderDataFormat.BINARY), 또는 URL encode 된 변수 (URLLoaderDataFormat.VARIABLES)의 머지않아인지를 제어합니다.

dataFormat property의 값이 URLLoaderDataFormat.TEXT 의 경우, 받는 데이터는, 로드 된 파일의 텍스트를 포함한 string입니다.

dataFormat property의 값이 URLLoaderDataFormat.BINARY 의 경우, 받는 데이터는, 생의 바이너리 데이터를 포함한 ByteArray object입니다.

dataFormat property의 값이 URLLoaderDataFormat.VARIABLES 의 경우, 받는 데이터는, URL encode 된 변수를 포함한 URLVariables object입니다.

디폴트치URLLoaderDataFormat.TEXT.

See also

constructor    의 상세
URLLoader()constructor   
public 함수 URLLoader(request:URLRequest = null)

URLLoader object를 작성합니다.

Parameters
request:URLRequest (default = null) — 다운로드하는 URL 를 지정하는 URLRequest object입니다. 이 Parameters를 생략 하면, 로드 조작은 개시되지 않습니다. 지정하면, 즉시 로드 조작이 개시됩니다. 상세한 것에 대하여는,load 를 참조해 주세요.

See also

Methods의 상세
close()Methods
public function close():void

진행중의 로드 조작은 즉시 종료합니다. 진행중의 로드 조작은 즉시 종료합니다. URL 가 현재 스트리밍되어 있지 않은 경우, 무효인 스트림(Stream) 에러가 슬로우 됩니다.

load()Methods 
public function load(request:URLRequest ):void

지정된 URL 로부터 데이터를 송신 및 로드합니다. dataFormat property로 설정한 값에 근거해, 텍스트, 생의 바이너리 데이터, 또는 URL encode 된 변수로서 데이터를 받을 수가 있습니다. dataFormat property의 디폴트치는 텍스트입니다. 데이터가 지정된 URL 에 송신하는 경우는, URLRequest object의 data property를 설정할 수 있습니다.

메모:로드안의 파일에 ASCII 캐릭터 이외의 캐릭터 (영어 이외가 많은 언어에 존재한다)가 포함되어 있는 경우는, ASCII 와 같은 비 Unicode 형식은 아니고 UTF-8 또는 UTF-16 인코딩 형식에서 파일을 보존하는 것을 추천합니다.

디폴트로, 로드하는 URL 는 호출해 원의 SWF 파일과 같은 도메인에 놓여져 있을 필요가 있습니다. 예를 들어 www.adobe.com 에 놓여져 있는 SWF 파일은, www.adobe.com 에 놓여져 있는 소스로부터로만 데이터를 로드할 수 있습니다. 다른 도메인으로부터 데이터를 로드하는 경우는, SWF 파일의 호스트로서 동작하는 서버에 크로스 도메인 policy 파일을 놓아둘 필요가 있습니다.

이 Methods를 사용할 때는, Flash Player 시큐러티 모델을 고려해 주세요.

Flash Player 8 이후 :

Flash Player 7 이후에서는, 크로스 도메인 policy 파일에 의해, Web 사이트에서의 리소스에의 크로스 도메인 액세스를 허가할 수가 있습니다. Flash Player 7 이후에 SWF 파일을 실행하고 있는 경우,url 는 정확하게 같은 도메인에 놓여져 있을 필요가 있습니다. 예를 들어 www.adobe.com 에 놓여져 있는 SWF 파일은, www.adobe.com 에 놓여져 있는 소스로부터 전용 데이터를 로드할 수 있습니다.

상세한 것에 대하여는, 다음의 주제를 참조해 주세요.

Flash Player 7 보다 전의 버젼의 Player 로 SWF 파일을 실행하고 있는 경우,url 는, 호출원의 SWF 파일과 같은 super 도메인에 속하고 있을 필요가 있습니다. super 도메인은, 파일의 URL 의 좌단의 요소를 삭제하는 것으로 요구됩니다. 예를 들어, www.adobe.com 에 존재하는 SWF 파일은, store.adobe.com 에 존재하는 소스로부터 데이터를 로드할 수 있습니다. 이것은, 어느 쪽의 파일도 같은 super 도메인 adobe.com 에 속하고 있기 (위해)때문에입니다.

Parameters
request:URLRequest — 다운로드하는 URL 를 지정하는 URLRequest object입니다.

이벤트
complete:Event — 데이터가 정상적으로 로드 된 후에 dispatch됩니다.
 
httpStatus:HTTPStatusEvent — 액세스가 HTTP 경유로, 현재의 Flash Player 환경이 스테이터스 코드의 취득을 지원(support)하고 있는 경우,complete event 또는 error 이벤트에 가세해, 이러한 이벤트를 받는 경우가 있습니다.
 
ioError:IOErrorEvent — 로드 조작을 완료할 수 없었습니다.
 
progress:ProgressEvent — 다운로드 처리를 실행중에 데이터를 수신했을 때에 dispatch됩니다.
 
securityError:SecurityErrorEvent — 호출원의 시큐러티 Sandbox 의 외부에 있는 서버로부터 데이터를 취득하려고 하는 로드 조작. 이것은 서버상의 policy 파일을 사용하면 회피할 수 있습니다.
 
open:Event — 로드 조작이 개시했을 때에 dispatch됩니다.

Throws
ArgumentError URLRequest.requestHeader object에는, 금지되고 있는 특정의 HTTP 요구의 헤더를 포함할 수 없습니다. 상세한 것에 대하여는, URLRequestHeader 클래스의 설명을 참조해 주세요.
 
MemoryError — 이 에러는, 다음의 이유로써 발생할 가능성이 있습니다. 1) Flash Player 에서는 URLRequest.data Parameters를 UTF8 로부터 MBCS 로 변환할 수 없습니다. 이 에러는,load() 에게 건네진 URLRequest object가 GET 조작을 실시하도록(듯이) 설정되었을 경우, 및 System.useCodePagetrue 로 설정되었을 경우에 발생하는 일이 있습니다. 2) Flash Player 에서는 POST 데이터에 메모리를 할당할 수가 없습니다. 이 에러는,load 에게 건네진 URLRequest object가 POST 조작을 실시하도록(듯이) 설정되었을 경우에 발생하는 일이 있습니다.
 
SecurityError — 신뢰되어 있지 않은 로컬 SWF 는 인터넷에의 접속이 허가되지 않습니다. 이것은, 네트워크 액세스가 허가된 로컬 SWF 파일, 또는 신뢰할 수 있는 SWF 파일로서 재분류하면 회피할 수 있는 경우가 있습니다.
 
TypeError — 요구 Parameters의 값, 또는 건네받은 URLRequest object의 URLRequest.url property의 값은 null 입니다.

See also

이벤트의 상세
completeevent 
Event object type: flash.events.Event
Event.type property = flash.events.Event.COMPLETE

수신한 모든 데이터가 디코드되어 URLLoader object의 data property에 배치된 후에 dispatch됩니다. 이 이벤트가 dispatch되면, 수신한 데이터에 액세스 할 수 있습니다.

complete event object의 type property의 값을 정의합니다.

이 이벤트에는, 다음의 property가 있습니다.

PropertyValue
bubblesfalse
cancelablefalse 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다.
currentTargetevent listener로 Event object를 액티브하게 처리하고 있는 object입니다.
target로드가 완료한 네트워크 object입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다.

See also

httpStatusevent  
Event object type: flash.events.HTTPStatusEvent
HTTPStatusEvent.type property = flash.events.HTTPStatusEvent.HTTP_STATUS

URLLoader.load() 를 호출해 HTTP 를 개입시켜 데이터에 액세스를 시도해 현재의 Flash Player 환경에서 요구의 스테이터스 코드를 검출해 돌려줄 수가 있는 경우에 dispatch됩니다(일부의 브라우저 환경에서는 이 정보를 제공할 수 없습니다). httpStatus 이벤트가 있는 경우는,complete event 또는 error 이벤트의 전에, 이러한 이벤트에 가세해 송신됩니다.

httpStatus event object의 type property의 값을 정의합니다.

이 이벤트에는, 다음의 property가 있습니다.

PropertyValue
bubblesfalse
cancelablefalse 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다.
currentTargetevent listener로 Event object를 액티브하게 처리하고 있는 object입니다.
status서버로부터 돌려주어진 HTTP 스테이터스 코드입니다.
targetHTTP 스테이터스 코드를 받는 네트워크 object입니다.

See also

ioErrorevent  
Event object type: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

URLLoader.load() 의 호출에 의해 다운로드가 종료한다고 하는 값명적인 에러가 발생하는 경우에 dispatch됩니다.

ioError event object의 type property의 값을 정의합니다.

이 이벤트에는, 다음의 property가 있습니다.

PropertyValue
bubblesfalse
cancelablefalse 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다.
currentTargetevent listener로 Event object를 액티브하게 처리하고 있는 object입니다.
target입출력 에러가 발생한 네트워크 object입니다.
text에러 메세지로서 표시되는 텍스트입니다.

See also

openevent  
Event object type: flash.events.Event
Event.type property = flash.events.Event.OPEN

URLLoader.load() Methods의 호출에 의해 다운로드 처리가 개시되면 dispatch됩니다.

open event object의 type property의 값을 정의합니다.

이 이벤트에는, 다음의 property가 있습니다.

PropertyValue
bubblesfalse
cancelablefalse 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다.
currentTargetevent listener로 Event object를 액티브하게 처리하고 있는 object입니다.
target접속을 오픈한 네트워크 object입니다.

See also

progressevent  
Event object type: flash.events.ProgressEvent
ProgressEvent.type property = flash.events.ProgressEvent.PROGRESS

다운로드 처리를 실행중에 데이터를 수신했을 때에 dispatch됩니다.

URLLoader object에서는, 완전하게 데이터가 수신될 때까지는 데이터에 액세스 할 수 없습니다. 이 때문에, progress 이벤트의 통지로 밖에 다운로드의 진행 상황을 확인할 수 없습니다. 완전하게 다운로드되기 전에 데이터에 액세스 하려면 , URLStream object를 사용합니다.

progress event object의 type property의 값을 정의합니다.

이 이벤트에는, 다음의 property가 있습니다.

PropertyValue
bubblesfalse
bytesLoadedlistener가 이벤트를 처리하고 있을 때 로드 된 아이템수 또는 바이트수입니다.
bytesTotal로드 프로세스가 성공했을 경우에 최종적으로 로드 되는 아이템 또는 바이트의 총수입니다.
cancelablefalse 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다.
currentTargetevent listener로 Event object를 액티브하게 처리하고 있는 object입니다.
target진행 상황을 리포트하는 네트워크 object입니다.

See also

securityErrorevent  
Event object type: flash.events.SecurityErrorEvent
SecurityErrorEvent.type property = flash.events.SecurityErrorEvent.SECURITY_ERROR

URLLoader.load() 의 호출에 의해 시큐러티 샌드 박스의 외부에 있는 서버로부터 데이터를 로드하려고 하면 dispatch됩니다.

SecurityErrorEvent.SECURITY_ERROR 정수는,securityError event object의 type property치를 정의합니다.

이 이벤트에는, 다음의 property가 있습니다.

PropertyValue
bubblesfalse
cancelablefalse 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다.
currentTargetevent listener로 Event object를 액티브하게 처리하고 있는 object입니다.
target시큐러티 에러를 보고하는 네트워크 object입니다.
text에러 메세지로서 표시되는 텍스트입니다.

See also

Examples

다음의 예에서는, 로컬 텍스트 파일로 검출된 데이터를 로드해 표시합니다. 또, event 처리 정보도 출력합니다.

메모: 이 예를 실행하려면 , urlLoaderExample.txt (이)라는 이름의 파일을 SWF 파일과 같은 디렉토리에 배치합니다. 이 파일에는, 다음의 텍스트행만이 포함되어 있습니다.

answer=42&question=unknown

코드예에서는, 다음의 처리가 실행됩니다.

  1. constructor    함수는 loader 라고 하는 URLLoader 인스턴스와 request 라고 하는 URLRequest 인스턴스를 작성합니다. 이것은 로드 되는 파일의 장소와 이름입니다.
  2. loader object가 configureListeners() Methods에게 건네져 지원(support)되는 각 URLLoader 이벤트에 listener를 추가합니다.
  3. 다음에 request object가, 텍스트 파일을 로드하는 loader.load() 에게 건네집니다.
  4. URLLoader 에 의한 텍스트 파일의 로드가 종료하면,Event.COMPLETE event 가 발생해, completeHandler() Methods가 방아쇠 됩니다. completeHandler() Methods는, 파일로부터 로드 된 텍스트로부터 URLVariables object를 작성합니다. URLVariables object는, URL encode 된 이름과 값의 페어를 ActionScript property로 변환해, 로드 된 데이터를 조작하기 쉽게 합니다.

package {
    import flash.display.Sprite;
    import flash.events. *;
    import flash.net. *;

    public class URLLoaderExample extends Sprite {
        public function URLLoaderExample() {
            var loader:URLLoader = new URLLoader();
            configureListeners(loader);

            var request:URLRequest = new URLRequest("urlLoaderExample.txt");
            try {
                loader.load(request);
            } catch (error:Error) {
                trace("Unable to load requested document. ");
            }
        }

        private function configureListeners(dispatcher:IEventDispatcher) :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);
            trace("completeHandler: " + loader.data);
    
            var vars:URLVariables = new URLVariables(loader.data);
            trace("The answer is " + vars.answer);
        }

        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);
        }

        private function httpStatusHandler(event:HTTPStatusEvent) :void {
            trace("httpStatusHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent) :void {
            trace("ioErrorHandler: " + event);
        }
    }
}






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/net/URLLoader.html