패키지 | flash.media |
클래스 | public class AVURLLoader |
상속 | AVURLLoader URLLoader EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader 객체는 모든 데이터를 URL에서 다운로드한 다음 응용 프로그램의 코드에 사용할 수 있도록 합니다. 다운로드 진행 상황에 대한 알림을 전송하며, 이 진행 상황은 전달된 이벤트뿐 아니라 bytesLoaded
및 bytesTotal
속성을 통해서도 모니터링할 수 있습니다.
FLV 등의 매우 큰 비디오 파일을 로드할 때는 메모리 부족 오류가 발생할 수 있습니다.
응용 프로그램 보안 샌드박스가 아닌 다른 보안 샌드박스의 Flash Player와 AIR 응용 프로그램 내용에 이 클래스를 사용할 경우 다음과 같은 보안 모델을 생각해 볼 수 있습니다.
- local-with-filesystem 샌드박스에 있는 SWF 파일은 network 샌드박스에 있는 리소스에서 데이터를 로드하거나 이러한 리소스에 데이터를 제공할 수 없습니다.
- 기본적으로 호출하는 SWF 파일과 로드하는 URL은 같은 도메인에 있어야 합니다. 예를 들어 www.adobe.com에 있는 SWF 파일은 같은 도메인인 www.adobe.com에 있는 소스에서만 데이터를 로드할 수 있습니다. 다른 도메인에서 데이터를 로드하려면 해당 데이터를 호스팅하는 서버에 URL 정책 파일을 배치합니다.
보안에 대한 자세한 내용은 Flash Player 개발자 센터 항목: 보안을 참조하십시오.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
bytesLoaded : uint = 0
로드 작업 중 지금까지 로드한 바이트 수를 나타냅니다. | URLLoader | ||
bytesTotal : uint = 0
다운로드한 데이터의 총 바이트 수를 나타냅니다. | URLLoader | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
cookieHeader : String [쓰기 전용] | AVURLLoader | ||
data : *
로드 작업으로 수신된 데이터입니다. | URLLoader | ||
dataFormat : String = "text"
다운로드하는 데이터를 텍스트(URLLoaderDataFormat.TEXT), 원시 이진 데이터(URLLoaderDataFormat.BINARY) 또는 URL 인코딩된 변수(URLLoaderDataFormat.VARIABLES) 중 어떤 형식으로 수신할 것인지 제어합니다. | URLLoader |
메서드 | 정의 주체 | ||
---|---|---|---|
AVURLLoader(request:URLRequest = null)
URLLoader 객체를 만듭니다. | AVURLLoader | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void [재정의] | AVURLLoader | ||
[재정의]
진행 중인 로드 작업을 닫습니다. | AVURLLoader | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
[재정의]
지정된 URL에서 데이터를 보내거나 로드합니다. | AVURLLoader | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
수신된 모든 데이터가 디코딩된 후 URLLoader 객체의 data 속성에 배치되면 전달됩니다. | AVURLLoader | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
load() 메서드 호출로 HTTP를 통해 데이터 액세스를 시도하고 Adobe AIR에서 요청에 대한 상태 코드를 감지 및 반환할 수 있을 때 전달됩니다. | AVURLLoader | |||
URLLoader.load() 호출로 HTTP를 통해 데이터 액세스를 시도할 때 전달됩니다. | AVURLLoader | |||
URLLoader.load() 호출로 치명적인 오류가 발생하여 다운로드가 중단되면 전달됩니다. | AVURLLoader | |||
URLLoader.load() 메서드 호출에 이어 다운로드 작업이 시작될 때 전달됩니다. | AVURLLoader | |||
다운로드 작업이 진행되어 데이터가 수신될 때 전달됩니다. | AVURLLoader | |||
URLLoader.load() 호출로 보안 샌드박스 외부의 서버에서 데이터 로드를 시도하면 전달됩니다. | AVURLLoader |
cookieHeader | 속성 |
AVURLLoader | () | 생성자 |
public function AVURLLoader(request:URLRequest = null)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader 객체를 만듭니다.
매개 변수request:URLRequest (default = null ) — 다운로드할 URL을 지정하는 URLRequest 객체입니다. 이 매개 변수가 생략된 경우 로드 작업이 시작되지 않습니다. 이 매개 변수가 지정되면 로드 작업이 즉시 시작됩니다. 자세한 내용은 load 항목을 참조하십시오.
|
관련 API 요소
addEventListener | () | 메서드 |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
매개 변수
type:String | |
listener:Function | |
useCapture:Boolean (default = false )
| |
priority:int (default = 0 )
| |
useWeakReference:Boolean (default = false )
|
close | () | 메서드 |
override public function close():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
진행 중인 로드 작업을 닫습니다. 진행 중인 모든 로드 작업이 즉시 종료됩니다. 현재 스트리밍될 URL이 없으면 잘못된 스트림 오류가 발생합니다.
load | () | 메서드 |
override public function load(request:URLRequest):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 URL에서 데이터를 보내거나 로드합니다. 데이터는 dataFormat
속성에 지정한 값에 따라 텍스트, 원시 이진 데이터 또는 URL 인코딩된 변수로 수신할 수 있습니다. dataFormat
속성의 기본값은 텍스트입니다. 지정된 URL로 데이터를 보내려는 경우 URLRequest 객체의 data
속성을 지정할 수 있습니다.
참고: 로드되는 파일에 ASCII가 아닌 문자(영어가 아닌 다른 언어에서 사용)가 포함되어 있는 경우 UTF-8 또는 UTF-16과 같은 유니코드 인코딩을 사용하여 파일을 저장하는 것이 좋습니다. ASCII는 유니코드 형식이 아닙니다.
local-with-filesystem 샌드박스에 있는 SWF 파일은 network 샌드박스에 있는 리소스에서 데이터를 로드하거나 이러한 리소스에 데이터를 제공할 수 없습니다.
기본적으로 호출하는 SWF 파일과 로드하는 URL은 같은 도메인에 있어야 합니다. 예를 들어 www.adobe.com에 있는 SWF 파일은 같은 도메인인 www.adobe.com에 있는 소스에서만 데이터를 로드할 수 있습니다. 다른 도메인에서 데이터를 로드하려면 해당 데이터를 호스팅하는 서버에 URL 정책 파일을 배치합니다.
일반적으로 예약된 포트에 연결할 수 없습니다. 차단된 포트의 전체 목록은 ActionScript 3.0 개발자 안내서의 "제한적 네트워킹 API"를 참조하십시오.
Flash Player 10 이상에서는 multipart Content-Type(예: "multipart/form-data")을 사용하고 POST 본문 내 "content-disposition" 헤더에 "filename" 매개 변수를 지정하여 업로드를 처리하는 경우 POST 작업이 업로드에 적용되는 보안 규칙의 영향을 받을 수 있습니다.
- POST 작업은 마우스 클릭이나 키 누르기 같은 사용자 동작에 대한 응답으로 수행됩니다.
- POST 작업이 크로스 도메인인 경우, 즉 POST 대상이 POST 요청을 보내는 SWF 파일과 같은 서버에 없는 경우 대상 서버는 크로스 도메인 액세스를 허용하는 URL 정책 파일을 제공해야 합니다.
또한 multipart Content-Type의 경우 구문이 RFC2046 표준에 따라 유효해야 합니다. 구문이 유효하지 않은 경우 POST 작업은 업로드에 적용되는 보안 규칙의 영향을 받을 수 있습니다.
보안에 대한 자세한 내용은 Flash Player 개발자 센터 항목: 보안을 참조하십시오.
매개 변수
request:URLRequest — 다운로드할 URL을 지정하는 URLRequest 객체입니다.
|
이벤트
complete: — 데이터가 성공적으로 로드되면 전달됩니다.
| |
httpStatus: — HTTP를 통해 액세스되고 현재의 Flash Player 환경이 상태 코드 수신을 지원하는 경우 complete 또는 error 이벤트 외에도 이러한 이벤트를 수신할 수 있습니다.
| |
ioError: — 로드 작업을 완료할 수 없습니다.
| |
progress: — 다운로드 작업이 진행되어 데이터가 수신될 때 전달됩니다.
| |
securityError: — 로드 작업에서 호출자의 보안 샌드박스 외부에 있는 서버의 데이터를 검색하려고 시도했습니다. 이 오류는 해당 서버의 정책 파일을 사용하여 해결할 수 있습니다.
| |
securityError: — 로드 작업에서 SWZ 파일(Adobe 플랫폼 구성 요소)을 로드하려고 시도했으나 인증서가 유효하지 않거나 다이제스트가 구성 요소와 일치하지 않습니다.
| |
open: — 로드 작업이 시작될 때 전달됩니다.
| |
httpResponseStatus: — load() 메서드에 대한 호출에서 HTTP를 통해 데이터 액세스를 시도하고 Adobe AIR에서 요청에 대한 상태 코드를 감지 및 반환할 수 있는 경우 전달됩니다.
|
오류
ArgumentError — URLRequest.requestHeader 객체는 금지된 특정 HTTP 요청 헤더를 포함할 수 없습니다. 자세한 내용은 URLRequestHeader 클래스 설명을 참조하십시오.
| |
MemoryError — 이 오류는 다음과 같은 이유로 발생할 수 있습니다. 1) Flash Player 또는 AIR에서 URLRequest.data 매개 변수를 UTF8에서 MBCS로 변환할 수 없습니다. load() 에 전달된 URLRequest 객체가 GET 작업을 수행하도록 설정되고 System.useCodePage 가 true 로 설정된 경우 이 오류가 발생합니다. Flash Player 또는 AIR에서 POST 데이터를 위한 메모리를 할당할 수 없습니다. load 에 전달된 URLRequest 객체가 POST 작업을 수행하도록 설정된 경우 이 오류가 발생합니다.
| |
SecurityError — 신뢰할 수 없는 로컬 파일은 인터넷 통신이 불가능합니다. 이 파일을 네트워킹 가능한 로컬 파일(local-with-networking) 또는 신뢰할 수 있는 파일로 다시 규정하면 이 오류를 해결할 수 있습니다.
| |
SecurityError — 일반적으로 예약된 포트에 연결하려는 중입니다. 차단된 포트의 전체 목록은 ActionScript 3.0 개발자 안내서의 "제한적 네트워킹 API"를 참조하십시오.
| |
TypeError — 요청 매개 변수의 값이나 전달된 URLRequest 객체의 URLRequest.url 속성이 null 입니다.
|
관련 API 요소
URLRequest.requestHeaders
URLRequest.data
URLRequest.digest
complete | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.COMPLETE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
수신된 모든 데이터가 디코딩된 후 URLLoader 객체의 data 속성에 배치되면 전달됩니다. 수신된 데이터는 이 이벤트가 전달되면 액세스할 수 있습니다.
Event.COMPLETE
상수는 complete
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 로드가 완료된 네트워크 객체입니다. |
관련 API 요소
httpResponseStatus | 이벤트 |
flash.events.HTTPStatusEvent
속성 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, AIR 1.0, Flash Lite 4 |
load() 메서드 호출로 HTTP를 통해 데이터 액세스를 시도하고 Adobe AIR에서 요청에 대한 상태 코드를 감지 및 반환할 수 있을 때 전달됩니다.
httpStatus
이벤트와는 달리, httpResponseStatus
이벤트는 응답 데이터 이전에 전달됩니다. 또한 httpResponseStatus
이벤트에는 responseHeaders
및 responseURL
속성(httpStatus
이벤트에 대해 정의되어 있지 않음) 값이 포함되어 있습니다. httpResponseStatus
이벤트(있는 경우)는 complete
또는 error
이벤트 발생 전에 추가로 전송됩니다.
HTTPStatusEvent.HTTP_RESPONSE_STATUS
상수는 httpResponseStatus
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
responseURL | 응답이 반환된 URL입니다. |
responseHeaders | URLRequestHeader 객체의 배열로 응답이 반환된 응답 헤더입니다. |
status | 서버에 의해 반환된 HTTP 상태 코드입니다. |
redirected | 응답이 리디렉션의 결과인지 여부입니다. |
target | HTTP 상태 코드를 수신하는 네트워크 객체입니다. |
관련 API 요소
httpStatus | 이벤트 |
flash.events.HTTPStatusEvent
속성 HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load() 호출로 HTTP를 통해 데이터 액세스를 시도할 때 전달됩니다. Flash Player에서 실행 중인 내용의 경우 이 이벤트는 현재의 Flash Player 환경에서 요청에 대한 상태 코드를 감지 및 반환할 수 있을 때만 전달됩니다. 일부 브라우저 환경에서는 이 정보를 제공할 수 없습니다. httpStatus
이벤트는 complete
또는 error
이벤트 발생 전에 추가로 전송됩니다.
HTTPStatusEvent.HTTP_STATUS
상수는 httpStatus
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
status | 서버에 의해 반환된 HTTP 상태 코드입니다. |
target | HTTP 상태 코드를 수신하는 네트워크 객체입니다. |
관련 API 요소
ioError | 이벤트 |
flash.events.IOErrorEvent
속성 IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load() 호출로 치명적인 오류가 발생하여 다운로드가 중단되면 전달됩니다.
ioError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
errorID | 특정 오류와 연결된 참조 번호입니다(AIR만 해당). |
target | 입력/출력 오류가 발생한 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
관련 API 요소
open | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.OPEN
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load()
메서드 호출에 이어 다운로드 작업이 시작될 때 전달됩니다.
Event.OPEN
상수는 open
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 연결을 설정한 네트워크 객체입니다. |
관련 API 요소
progress | 이벤트 |
flash.events.ProgressEvent
속성 ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
다운로드 작업이 진행되어 데이터가 수신될 때 전달됩니다.
데이터가 완전히 수신되기 전에는 URLLoader 객체로 데이터를 액세스할 수 없습니다. 따라서 progress 이벤트는 다운로드 진행 상황을 알리는 역할만을 합니다. 데이터가 완전히 다운로드되기 전에 액세스하려면 AVURLStream 객체를 사용합니다.
progress
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
bytesLoaded | 리스너가 이벤트를 처리할 때 로드된 항목 수 또는 바이트 수입니다. |
bytesTotal | 로드 프로세스가 완료되면 최종적으로 로드될 총 바이트 수 또는 항목 수입니다. |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 진행률을 보고하는 객체입니다. |
관련 API 요소
securityError | 이벤트 |
flash.events.SecurityErrorEvent
속성 SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load() 호출로 보안 샌드박스 외부의 서버에서 데이터 로드를 시도하면 전달됩니다. 또한 URLLoader.load()
호출로 SWZ 파일 로드를 시도하지만 인증서가 유효하지 않거나 다이제스트 문자열이 구성 요소와 일치하지 않는 경우에도 전달됩니다.
SecurityErrorEvent.SECURITY_ERROR
상수는 securityError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 보안 오류를 보고하는 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
관련 API 요소
Tue Jun 12 2018, 03:17 PM Z