| 패키지 | flash.net |
| 클래스 | public class FileReferenceList |
| 상속 | FileReferenceList EventDispatcher Object |
| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
FileReferenceList 클래스로 작업하려면 다음을 수행합니다.
- 다음과 같이 클래스를 인스턴스화합니다.
var myFileRef = new FileReferenceList(); - 다음과 같이
FileReferenceList.browse()메서드를 호출하여 업로드할 파일을 하나 이상 선택할 수 있는 대화 상자를 엽니다.myFileRef.browse(); -
browse()메서드가 성공적으로 호출되면 FileReferenceList 객체의fileList속성이 FileReference 객체의 배열로 채워집니다. -
fileList배열의 각 요소에 대해FileReference.upload()를 호출합니다.
FileReferenceList 클래스에는 여러 파일을 사용하여 작업할 수 있도록 browse() 메서드와 fileList 속성이 포함되어 있습니다. 독립 실행형 및 외부 버전의 Flash Player와 Linux, Mac OS X 10.1 및 이전 버전용 AIR에서는 FileReferenceList.browse()를 호출하는 동안 SWF 파일의 재생이 일시 정지됩니다.
관련 API 요소
| 속성 | 정의 주체 | ||
|---|---|---|---|
![]() | constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
| fileList : Array [읽기 전용]
FileReference 객체의 배열입니다. | FileReferenceList | ||
| 메서드 | 정의 주체 | ||
|---|---|---|---|
새 FileReferenceList 객체를 만듭니다. | FileReferenceList | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | |
업로드할 로컬 파일을 하나 이상 선택할 수 있는 파일 탐색 대화 상자를 표시합니다. | FileReferenceList | ||
![]() |
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | |
![]() |
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | |
![]() |
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() |
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() |
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() |
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | |
![]() |
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
![]() |
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() |
지정된 객체의 프리미티브 값을 반환합니다. | Object | |
![]() |
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | |
| 이벤트 | 요약 | 정의 주체 | ||
|---|---|---|---|---|
![]() | [브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | ||
| 사용자가 파일 탐색 대화 상자를 닫을 때 전달됩니다. | FileReferenceList | |||
![]() | [브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | ||
| 파일 탐색 대화 상자에서 업로드할 파일을 하나 이상 선택할 때 전달됩니다. | FileReferenceList | |||
fileList | 속성 |
fileList:Array [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
FileReference 객체의 배열입니다.
FileReferenceList.browse() 메서드가 호출되고 browse() 메서드에 의해 열린 대화 상자에서 하나 이상의 파일을 선택하면 이 속성은 선택된 각 파일을 나타내는 FileReference 객체의 배열로 채워집니다. 그런 다음, 이 배열을 FileReference.upload() 메서드와 함께 사용하여 각 파일을 업로드할 수 있습니다. 한 번에 하나의 파일만 업로드해야 합니다.
fileList 속성은 해당 FileReferenceList 객체에 대해 browse()를 호출할 때마다 새로 채워집니다.
FileReference 객체 속성에 대해서는 FileReference 클래스 설명서에 설명되어 있습니다.
구현
public function get fileList():Array관련 API 요소
FileReferenceList | () | 생성자 |
public function FileReferenceList()| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
새 FileReferenceList 객체를 만듭니다. FileReferenceList 객체에 대해 browse() 메서드를 호출하여 하나 이상의 파일을 선택하기 전에는 이 객체에는 아무 것도 포함되지 않습니다. FileReference 객체에 대해 browse()를 호출하면 이 객체의 fileList 속성이 FileReference 객체의 배열로 채워집니다.
관련 API 요소
browse | () | 메서드 |
public function browse(typeFilter:Array = null):Boolean| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
업로드할 로컬 파일을 하나 이상 선택할 수 있는 파일 탐색 대화 상자를 표시합니다. 대화 상자는 사용자 운영 체제에 따라 다릅니다.
Flash Player 10 이상에서는 마우스 클릭이나 키 누르기 이벤트에 대한 이벤트 핸들러 등 사용자 이벤트에 대한 응답으로만 이 메서드를 호출할 수 있습니다. 그렇지 않은 경우 이 메서드를 호출하면 Flash Player에서 오류가 발생합니다.
이 메서드를 호출하여 파일 선택에 성공하면 FileReferenceList 객체의 fileList 속성은 선택된 각 파일의 FileReference 객체 배열로 채워집니다. 다음에 FileReferenceList.browse() 메서드를 호출할 때마다 FileReferenceList.fileList 속성은 대화 상자에서 사용자가 선택한 파일로 다시 설정됩니다.
typeFilter 매개 변수를 사용하여 대화 상자에 표시할 파일을 결정할 수 있습니다.
한 번에 하나의 대화 상자만 표시할 수 있으므로 FileReference.browse(), FileReference.download() 또는 FileReferenceList.browse() 세션은 FileReferenceList 객체에 대해 한 번에 하나만 수행할 수 있습니다.
매개 변수
typeFilter:Array (default = null) — 대화 상자에 표시되는 파일을 필터링하는 데 사용되는 FileFilter 인스턴스 배열입니다. 이 매개 변수를 생략하면 모든 파일이 표시됩니다. 자세한 내용은 FileFilter 클래스를 참조하십시오.
|
Boolean — 매개 변수가 유효하고 파일 탐색 대화 상자가 열리면 true를 반환합니다.
|
이벤트
select: — 사용자가 대화 상자에서 업로드할 항목을 성공적으로 선택했을 때 호출됩니다.
| |
cancel: — [취소]를 클릭하거나 종료하는 방법으로 대화 상자를 닫으면 호출됩니다.
|
오류
IllegalOperationError — 다음과 같은 이유로 발생합니다. 1) 다른 FileReference 또는 FileReferenceList 탐색 세션이 진행 중일 경우. 파일 탐색 세션은 한 번에 하나만 수행할 수 있습니다. 2) 사용자의 mms.cfg 파일 설정이 이 작업을 금지한 경우.
| |
ArgumentError — typeFilter 배열에 올바른 형식의 FileFilter 객체가 포함되어 있지 않은 경우 예외가 발생합니다. 필터의 올바른 형식에 대한 자세한 내용은 FileFilter 설명서를 참조하십시오.
| |
Error — 메서드가 마우스 클릭이나 키 누르기 이벤트와 같은 사용자 액션에 대한 응답으로 호출되지 않는 경우.
|
관련 API 요소
cancel | 이벤트 |
flash.events.Event속성 Event.type =
flash.events.Event.CANCEL| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
사용자가 파일 탐색 대화 상자를 닫을 때 전달됩니다. 이 대화 상자는 FileReferenceList.browse(), FileReference.browse() 또는 FileReference.download() 메서드를 호출할 때 열립니다.
Event.CANCEL 상수는 cancel 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false. 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업이 취소된 객체에 대한 참조입니다. |
관련 API 요소
select | 이벤트 |
flash.events.Event속성 Event.type =
flash.events.Event.SELECT| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0, Flash Player 9 |
파일 탐색 대화 상자에서 업로드할 파일을 하나 이상 선택할 때 전달됩니다. 이 대화 상자는 FileReferenceList.browse(), FileReference.browse() 또는 FileReference.download() 메서드를 호출할 때 열립니다. 파일을 선택하고 작업을 확인하면(예: [저장]을 클릭) FileReferenceList 객체는 선택된 파일을 나타내는 FileReference 객체로 채워집니다.
Event.SELECT 상수는 select 이벤트 객체의 type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|---|
bubbles | false |
cancelable | false. 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 항목이 선택된 객체입니다. |
관련 API 요소
complete 이벤트를 포함합니다. FileReferenceListExample 클래스의 LIST_COMPLETE 이벤트는 FileReferenceList 객체의 모든 파일이 업로드되면 전달됩니다.
이 예제를 실행하려면 파일 업로드를 승인하도록 작성된 스크립트를 http://www.[yourDomain].com/yourUploadHandlerScript.cfm에 넣습니다. SWF 파일 위치와 파일을 업로드하는 대상 위치에 따라, [로컬 재생 보안]을 [네트워크만 액세스]로 설정하여 SWF 파일을 컴파일해야 할 수도 있습니다. 또는 Flash(r) Player 보안 설정을 업데이트하여 이 파일의 네트워크 액세스를 허용합니다. 업로드 서버가 원격이고 이 예제를 데스크톱 컴퓨터에서 실행하는 경우, 해당 서버에 crossdomain.xml 파일이 있어야 합니다.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileReference;
import flash.net.FileReferenceList;
public class FileReferenceListExample extends Sprite {
public static var LIST_COMPLETE:String = "listComplete";
public function FileReferenceListExample() {
initiateFileUpload();
}
private function initiateFileUpload():void {
var fileRef:CustomFileReferenceList = new CustomFileReferenceList();
fileRef.addEventListener(FileReferenceListExample.LIST_COMPLETE, listCompleteHandler);
fileRef.browse(fileRef.getTypes());
}
private function listCompleteHandler(event:Event):void {
trace("listCompleteHandler");
}
}
}
import flash.events.*;
import flash.net.FileReference;
import flash.net.FileReferenceList;
import flash.net.FileFilter;
import flash.net.URLRequest;
class CustomFileReferenceList extends FileReferenceList {
private var uploadURL:URLRequest;
private var pendingFiles:Array;
public function CustomFileReferenceList() {
uploadURL = new URLRequest();
uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm";
initializeListListeners();
}
private function initializeListListeners():void {
addEventListener(Event.SELECT, selectHandler);
addEventListener(Event.CANCEL, cancelHandler);
}
public function getTypes():Array {
var allTypes:Array = new Array();
allTypes.push(getImageTypeFilter());
allTypes.push(getTextTypeFilter());
return allTypes;
}
private function getImageTypeFilter():FileFilter {
return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png");
}
private function getTextTypeFilter():FileFilter {
return new FileFilter("Text Files (*.txt, *.rtf)", "*.txt;*.rtf");
}
private function doOnComplete():void {
var event:Event = new Event(FileReferenceListExample.LIST_COMPLETE);
dispatchEvent(event);
}
private function addPendingFile(file:FileReference):void {
trace("addPendingFile: name=" + file.name);
pendingFiles.push(file);
file.addEventListener(Event.OPEN, openHandler);
file.addEventListener(Event.COMPLETE, completeHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
file.upload(uploadURL);
}
private function removePendingFile(file:FileReference):void {
for (var i:uint; i < pendingFiles.length; i++) {
if (pendingFiles[i].name == file.name) {
pendingFiles.splice(i, 1);
if (pendingFiles.length == 0) {
doOnComplete();
}
return;
}
}
}
private function selectHandler(event:Event):void {
trace("selectHandler: " + fileList.length + " files");
pendingFiles = new Array();
var file:FileReference;
for (var i:uint = 0; i < fileList.length; i++) {
file = FileReference(fileList[i]);
addPendingFile(file);
}
}
private function cancelHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("cancelHandler: name=" + file.name);
}
private function openHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("openHandler: name=" + file.name);
}
private function progressHandler(event:ProgressEvent):void {
var file:FileReference = FileReference(event.target);
trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}
private function completeHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("completeHandler: name=" + file.name);
removePendingFile(file);
}
private function httpErrorHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("httpErrorHandler: name=" + file.name);
}
private function ioErrorHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("ioErrorHandler: name=" + file.name);
}
private function securityErrorHandler(event:Event):void {
var file:FileReference = FileReference(event.target);
trace("securityErrorHandler: name=" + file.name + " event=" + event.toString());
}
}
Tue Jun 12 2018, 03:17 PM Z
상속되는 공용 속성 숨기기
상속되는 공용 속성 표시