| Package | flash.net |
| Class | public class URLLoader |
| Inheritance | URLLoader EventDispatcher Object |
URLLoader object는, 데이터를 ActionScript 로 사용할 수 있도록(듯이) 하기 전에, 그러한 모든 데이터를 URL 로부터 다운로드합니다. URLLoader object는, 다운로드의 진척에 관한 통지를 송신합니다. 이것들은, dispatch 끝난 이벤트, 또 bytesLoaded 및 bytesTotal property로 감시할 수 있습니다.
url Parameters에 건네주는 값은, 디폴트에서는, 같은 도메인에 놓여져 있을 필요가 있습니다. 예를 들어 www.adobe.com 에 놓여져 있는 SWF 파일은, www.adobe.com 에 놓여져 있는 소스로부터로만 데이터를 로드할 수 있습니다. 다른 도메인으로부터 데이터를 로드하는 경우는, SWF 파일을 호스트 하는 서버에 크로스 도메인 policy 파일을 놓아둘 필요가 있습니다.
이 Methods를 사용할 때는, Adobe® Flash® Player 시큐러티 모델을 고려해 주세요.
Flash Player 8 이후 :
Flash Player 7 이후 :
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 에 속하고 있기 (위해)때문에입니다.
See also
| property | 정의 | ||
|---|---|---|---|
| bytesLoaded : uint = 0
로드 조작중에, 이미 로드 끝난 데이터의 바이트수를 나타냅니다.
| URLLoader | ||
| bytesTotal : uint = 0
다운로드 데이터의 합계 바이트수를 나타냅니다.
| URLLoader | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| data : *
로드 조작에 의해 수신한 데이터입니다.
| URLLoader | ||
| dataFormat : String = "text"
다운로드한 데이터가 텍스트 (
URLLoaderDataFormat.TEXT), 생의 바이너리 데이터 (URLLoaderDataFormat.BINARY), 또는 URL encode 된 변수 (URLLoaderDataFormat.VARIABLES)의 머지않아인지를 제어합니다. | URLLoader | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| Methods | 정의 | ||
|---|---|---|---|
| URLLoader (request:URLRequest = null)
URLLoader object를 작성합니다.
| URLLoader | ||
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
| close ():void
진행중의 로드 조작은 즉시 종료합니다.
| URLLoader | ||
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
![]() | hasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
| EventDispatcher | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
| load (request:URLRequest ):void
지정된 URL 로부터 데이터를 송신 및 로드합니다.
| URLLoader | ||
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (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 | ||
| bytesLoaded | property |
public var bytesLoaded:uint = 0로드 조작중에, 이미 로드 끝난 데이터의 바이트수를 나타냅니다.
| bytesTotal | property |
public var bytesTotal:uint = 0다운로드 데이터의 합계 바이트수를 나타냅니다. 이 property는, 로드 조작의 진행중은 0 을 포함해, 조작이 완료한 시점에서 설정됩니다.
| data | property |
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
| dataFormat | property |
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
| URLLoader | () | constructor |
public 함수 URLLoader(request:URLRequest = null)URLLoader object를 작성합니다.
Parametersrequest:URLRequest (default = null) — 다운로드하는 URL 를 지정하는 URLRequest object입니다. 이 Parameters를 생략 하면, 로드 조작은 개시되지 않습니다. 지정하면, 즉시 로드 조작이 개시됩니다. 상세한 것에 대하여는,load 를 참조해 주세요.
|
See also
| 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 에 속하고 있기 (위해)때문에입니다.
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됩니다. |
ArgumentError — URLRequest.requestHeader object에는, 금지되고 있는 특정의 HTTP 요구의 헤더를 포함할 수 없습니다. 상세한 것에 대하여는, URLRequestHeader 클래스의 설명을 참조해 주세요.
|
|
MemoryError — 이 에러는, 다음의 이유로써 발생할 가능성이 있습니다. 1) Flash Player 에서는 URLRequest.data Parameters를 UTF8 로부터 MBCS 로 변환할 수 없습니다. 이 에러는,load() 에게 건네진 URLRequest object가 GET 조작을 실시하도록(듯이) 설정되었을 경우, 및 System.useCodePage 가 true 로 설정되었을 경우에 발생하는 일이 있습니다. 2) Flash Player 에서는 POST 데이터에 메모리를 할당할 수가 없습니다. 이 에러는,load 에게 건네진 URLRequest object가 POST 조작을 실시하도록(듯이) 설정되었을 경우에 발생하는 일이 있습니다.
|
|
SecurityError — 신뢰되어 있지 않은 로컬 SWF 는 인터넷에의 접속이 허가되지 않습니다. 이것은, 네트워크 액세스가 허가된 로컬 SWF 파일, 또는 신뢰할 수 있는 SWF 파일로서 재분류하면 회피할 수 있는 경우가 있습니다.
|
|
TypeError — 요구 Parameters의 값, 또는 건네받은 URLRequest object의 URLRequest.url property의 값은 null 입니다.
|
See also
| complete | event |
flash.events.Event
flash.events.Event.COMPLETE
수신한 모든 데이터가 디코드되어 URLLoader object의 data property에 배치된 후에 dispatch됩니다. 이 이벤트가 dispatch되면, 수신한 데이터에 액세스 할 수 있습니다.
complete event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 로드가 완료한 네트워크 object입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
See also
| httpStatus | event |
flash.events.HTTPStatusEvent
flash.events.HTTPStatusEvent.HTTP_STATUS
URLLoader.load() 를 호출해 HTTP 를 개입시켜 데이터에 액세스를 시도해 현재의 Flash Player 환경에서 요구의 스테이터스 코드를 검출해 돌려줄 수가 있는 경우에 dispatch됩니다(일부의 브라우저 환경에서는 이 정보를 제공할 수 없습니다). httpStatus 이벤트가 있는 경우는,complete event 또는 error 이벤트의 전에, 이러한 이벤트에 가세해 송신됩니다.
httpStatus event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
status | 서버로부터 돌려주어진 HTTP 스테이터스 코드입니다. |
target | HTTP 스테이터스 코드를 받는 네트워크 object입니다. |
See also
| ioError | event |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
URLLoader.load() 의 호출에 의해 다운로드가 종료한다고 하는 값명적인 에러가 발생하는 경우에 dispatch됩니다.
ioError event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 입출력 에러가 발생한 네트워크 object입니다. |
text | 에러 메세지로서 표시되는 텍스트입니다. |
See also
| open | event |
flash.events.Event
flash.events.Event.OPEN
URLLoader.load() Methods의 호출에 의해 다운로드 처리가 개시되면 dispatch됩니다.
open event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 접속을 오픈한 네트워크 object입니다. |
See also
| progress | event |
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
다운로드 처리를 실행중에 데이터를 수신했을 때에 dispatch됩니다.
URLLoader object에서는, 완전하게 데이터가 수신될 때까지는 데이터에 액세스 할 수 없습니다. 이 때문에, progress 이벤트의 통지로 밖에 다운로드의 진행 상황을 확인할 수 없습니다. 완전하게 다운로드되기 전에 데이터에 액세스 하려면 , URLStream object를 사용합니다.
progress event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
bytesLoaded | listener가 이벤트를 처리하고 있을 때 로드 된 아이템수 또는 바이트수입니다. |
bytesTotal | 로드 프로세스가 성공했을 경우에 최종적으로 로드 되는 아이템 또는 바이트의 총수입니다. |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 진행 상황을 리포트하는 네트워크 object입니다. |
See also
| securityError | event |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
URLLoader.load() 의 호출에 의해 시큐러티 샌드 박스의 외부에 있는 서버로부터 데이터를 로드하려고 하면 dispatch됩니다.
SecurityErrorEvent.SECURITY_ERROR 정수는,securityError event object의 type property치를 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 시큐러티 에러를 보고하는 네트워크 object입니다. |
text | 에러 메세지로서 표시되는 텍스트입니다. |
See also
메모: 이 예를 실행하려면 , urlLoaderExample.txt
(이)라는 이름의 파일을 SWF 파일과 같은 디렉토리에 배치합니다. 이 파일에는, 다음의 텍스트행만이 포함되어 있습니다.
answer=42&question=unknown
코드예에서는, 다음의 처리가 실행됩니다.
loader 라고 하는 URLLoader 인스턴스와
request 라고 하는 URLRequest 인스턴스를 작성합니다. 이것은 로드 되는 파일의 장소와 이름입니다. loader object가 configureListeners() Methods에게 건네져
지원(support)되는 각 URLLoader 이벤트에 listener를 추가합니다. request object가, 텍스트 파일을 로드하는 loader.load() 에게 건네집니다. 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