패키지flash.net
클래스public class FileReferenceList
상속FileReferenceList Inheritance EventDispatcher Inheritance Object

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

FileReferenceList 클래스는 업로드할 하나 이상의 파일을 선택하는 방법을 제공합니다. FileReferenceList 객체는 FileReference 객체의 배열로 사용자 디스크의 하나 이상의 로컬 파일 그룹을 나타냅니다. FileReferenceList와 함께 사용하는 FileReference 객체 및 FileReference 클래스에 대한 자세한 내용 및 고려해야 할 사항에 대해서는 FileReference 클래스를 참조하십시오.

FileReferenceList 클래스로 작업하려면 다음을 수행합니다.

FileReferenceList 클래스에는 여러 파일을 사용하여 작업할 수 있도록 browse() 메서드와 fileList 속성이 포함되어 있습니다. Linux 및 Mac OS X 10.1 이하용 독립 실행형 플레이어와 외부 플레이어에서는 FileReferenceList.browse()를 호출하는 동안 SWF 파일의 재생이 일시 정지됩니다.

예제를 통해 확인하십시오.

참고 사항

FileReference


Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  fileList : Array
[read-only] FileReference 객체의 배열입니다.
FileReferenceList
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
  
새 FileReferenceList 객체를 만듭니다.
FileReferenceList
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
  
browse(typeFilter:Array = null):Boolean
업로드할 로컬 파일을 하나 이상 선택할 수 있는 파일 탐색 대화 상자를 표시합니다.
FileReferenceList
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 다음에 의해 정의됨
 Inherited Flash Player가 운영 체제에서 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
   사용자가 파일 탐색 대화 상자를 닫을 때 전달됩니다.FileReferenceList
 Inherited Flash Player가 운영 체제에서 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
   파일 탐색 대화 상자에서 업로드할 파일을 하나 이상 선택할 때 전달됩니다.FileReferenceList
속성 정보
fileList속성
fileList:Array  [read-only]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

FileReference 객체의 배열입니다.

FileReferenceList.browse() 메서드가 호출되고 browse() 메서드에 의해 열린 대화 상자에서 하나 이상의 파일을 선택하면 이 속성은 선택된 각 파일을 나타내는 FileReference 객체의 배열로 채워집니다. 그런 다음, 이 배열을 FileReference.upload() 메서드와 함께 사용하여 각 파일을 업로드할 수 있습니다. 한 번에 하나의 파일만 업로드해야 합니다.

fileList 속성은 해당 FileReferenceList 객체에 대해 browse()를 호출할 때마다 새로 채워집니다.

FileReference 객체 속성에 대해서는 FileReference 클래스 설명서에 설명되어 있습니다.


구현
    public function get fileList():Array

참고 사항

생성자 정보
FileReferenceList()생성자
public function FileReferenceList()

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

새 FileReferenceList 객체를 만듭니다. FileReferenceList 객체에 대해 browse() 메서드를 호출하여 하나 이상의 파일을 선택하기 전에는 이 객체에는 아무 것도 포함되지 않습니다. FileReference 객체에 대해 browse()를 호출하면 이 객체의 fileList 속성이 FileReference 객체의 배열로 채워집니다.

참고 사항

메서드 정보
browse()메서드
public function browse(typeFilter:Array = null):Boolean

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

업로드할 로컬 파일을 하나 이상 선택할 수 있는 파일 탐색 대화 상자를 표시합니다. 대화 상자는 사용자 운영 체제에 따라 다릅니다. 이 메서드를 호출하여 파일 선택에 성공하면 FileReferenceList 객체의 fileList 속성은 선택된 각 파일의 FileReference 객체 배열로 채워집니다. 다음에 FileReferenceList.browse() 메서드를 호출할 때마다 FileReferenceList.fileList 속성은 대화 상자에서 사용자가 선택한 파일로 다시 설정됩니다.

typeFilter 매개 변수를 사용하여 대화 상자에 표시할 파일을 결정할 수 있습니다.

한 번에 하나의 대화 상자만 표시할 수 있으므로 FileReference.browse(), FileReference.download() 또는 FileReferenceList.browse() 세션은 FileReferenceList 객체에 대해 한 번에 하나만 수행할 수 있습니다.

매개 변수

typeFilter:Array (default = null) — 대화 상자에 표시되는 파일을 필터링하는 데 사용되는 FileFilter 인스턴스 배열입니다. 이 매개 변수를 생략하면 모든 파일이 표시됩니다. 자세한 내용은 FileFilter 클래스를 참조하십시오.

반환값
Boolean — 매개 변수가 유효하고 파일 탐색 대화 상자가 열리면 true를 반환합니다.

이벤트
select:Event — 사용자가 대화 상자에서 업로드할 항목을 성공적으로 선택했을 때 호출됩니다.
 
cancel:Event — [취소]를 클릭하거나 종료하는 방법으로 대화 상자를 닫으면 호출됩니다.

오류
IllegalOperationError — 다음과 같은 이유로 발생합니다. 1) 다른 FileReference 또는 FileReferenceList 탐색 세션이 진행 중일 경우. 파일 탐색 세션은 한 번에 하나만 수행할 수 있습니다. 2) 사용자의 mms.cfg 파일 설정이 이 작업을 금지한 경우.
 
ArgumentError typeFilter 배열에 올바른 형식의 FileFilter 객체가 포함되어 있지 않은 경우 예외가 발생합니다. 필터의 올바른 형식에 대한 자세한 내용은 FileFilter 설명서를 참조하십시오.

참고 사항

이벤트 정보
cancel 이벤트
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.CANCEL

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

사용자가 파일 탐색 대화 상자를 닫을 때 전달됩니다. (이 대화 상자는 FileReferenceList.browse(), FileReference.browse() 또는 FileReference.download() 메서드를 호출할 때 열립니다.)

cancel 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target작업이 취소된 객체에 대한 참조입니다.

참고 사항

select 이벤트  
이벤트 객체 유형: flash.events.Event
Event.type property = flash.events.Event.SELECT

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

파일 탐색 대화 상자에서 업로드할 파일을 하나 이상 선택할 때 전달됩니다. (이 대화 상자는 FileReferenceList.browse(), FileReference.browse() 또는 FileReference.download() 메서드를 호출할 때 열립니다.) 파일을 선택하고 작업을 확인하면(예: [저장]을 클릭) FileReferenceList 객체는 선택된 파일을 나타내는 FileReference 객체로 채워집니다.

select 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
target항목이 선택된 FileReference 객체입니다.

참고 사항

예제 예제 사용 방법
FileReferenceListExample.as

다음 예제에서는 이벤트를 사용하여 여러 파일 업로드를 관리하는 방법을 보여 줍니다. CustomFileReferenceList 클래스는 FileReferenceList를 확장하며, FileReferenceList 객체의 개별 파일이 업로드될 때 전달되는 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());
    }
}




 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/net/FileReferenceList.html