URLLoader는 URLRequest와 URLVariables 또는 URLStream등과 함께 사용하며, 굉장히 유연하면서도 강력한 기능을 발휘 한다.
[ 속성 ]
bytesLoaded : uint = 0 로드 작업 중 지금까지 로드한 바이트 수를 나타냅니다. |
bytesTotal : uint = 0 다운로드한 데이터의 총 바이트 수를 나타냅니다. |
data : * 로드 작업으로 수신된 데이터입니다. |
dataFormat : String = "text" 다운로드하는 데이터를 텍스트(URLLoaderDataFormat.TEXT), 원시 이진 데이터(URLLoaderDataFormat.BINARY) 또는 URL 인코딩된 변수(URLLoaderDataFormat.VARIABLES) 중 어떤 형식으로 수신할 것인지 제어합니다. |
URLLoader(request:URLRequest = null) URLLoader 객체를 만듭니다. |
close():void 진행 중인 로드 작업을 닫습니다. |
load(request:URLRequest):void 지정된 URL에서 데이터를 보내거나 로드합니다. |
[ 이벤트 ]
complete |
수신된 모든 데이터가 디코딩된 후 URLLoader 객체의 data 속성에 배치되면 전달됩니다. |
httpStatus |
URLLoader.load() 호출로 HTTP를 통해 데이터 액세스를 시도하고 현재의 Flash Player 환경에서 이 요청에 대한 상태 코드를 감지 및 반환할 수 있을 때 전달됩니다. |
ioError |
URLLoader.load() 호출로 치명적인 오류가 발생하여 다운로드가 중단되면 전달됩니다. |
open |
URLLoader.load() 메서드 호출에 이어 다운로드 작업이 시작될 때 전달됩니다. |
progress |
다운로드 작업이 진행되어 데이터가 수신될 때 전달됩니다. |
securityError |
URLLoader.load() 호출로 보안 샌드박스 외부의 서버로부터 데이터 로드를 시도할 때 전달됩니다. |
* 참고 )
만약 받고자 하는 데이터가 URL-encoded데이터인 경우 다음과 같은 규칙을 지켜야 한다.
- 각 변수와 값은 공백없이 연결되어야 한다.
- 불러온 문자열은 언제나 문자열로 취급한다. 따라서 ""를 붙일 필요가 없다.
- 하나 이상의 변수와 값이 있으면 & 를 사용하여 묶어야 한다.
- 값사이 공백은 %20이 아닌 +로 연결한다.(보다 안정적이다.)
- 16진수 이스케이프 문자를 사용해야 한다. (L's book -> L%27s+book)