| Package | flash.net |
| Class | public class FileReferenceList |
| Inheritance | FileReferenceList EventDispatcher Object |
FileReferenceList 클래스를 사용하려면
var myFileRef = new FileReferenceList();FileReferenceList.browse() Methods를 호출해, 유저가 업 로드하는 파일을 선택할 수 있는 다이알로그 박스를 엽니다. myFileRef.browse();browse() Methods가 정상적으로 불려 간 후, FileReferenceList object의 fileList property에 FileReference object의 배열이 설정됩니다. fileList 배열내의 각 엘리먼트에 대해 FileReference.upload() 를 호출합니다. FileReferenceList 클래스에는,browse() Methods나, 복수의 파일을 사용하기 위한 fileList property등이 있습니다.
See also
| property | 정의 | ||
|---|---|---|---|
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| fileList : Array
[read-only]
FileReference object의 배열입니다. | FileReferenceList | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| Methods | 정의 | ||
|---|---|---|---|
| FileReferenceList ()
새로운 FileReferenceList object를 작성합니다.
| FileReferenceList | ||
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
| browse (typeFilter:Array = null):Boolean
업 로드하는 로컬 파일을 1 개 이상 선택할 수 있는 파일 참조 다이알로그 박스를 표시합니다.
| FileReferenceList | ||
![]() | 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 | |
![]() | 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 | |
| 이벤트 | 일람 | 정의 | ||
|---|---|---|---|---|
| cancel | 유저가 파일 참조 다이알로그 박스를 닫으면, dispatch됩니다 | FileReferenceList | ||
| select | 유저가 업 로드하는 파일을 파일 참조 다이알로그 박스로부터 1 개 이상 선택했을 때에 dispatch됩니다. | FileReferenceList | ||
| fileList | property |
fileList:Array [read-only]
FileReference object의 배열입니다.
FileReferenceList.browse() Methods가 불려 가 유저가 browse() Methods에 의해 연 다이알로그 박스로부터 파일을 선택하면, 이 property에 FileReference object의 배열이 설정됩니다. 이 object는, 유저가 선택한 파일을 나타냅니다. 그 후, 이 배열을 사용해,FileReference.upload() Methods로 각 파일을 업 로드할 수 있습니다. 한 번에 1 개의 파일을 업 로드할 필요가 있습니다.
fileList property는, browse()가 FileReferenceList object로 불려 갈 때마다 새롭게 설정됩니다.
FileReference object의 property에 대한 설명은, FileReference 클래스의 설명에 있습니다.
public function get fileList():Array
See also
| FileReferenceList | () | constructor |
public 함수 FileReferenceList()
새로운 FileReferenceList object를 작성합니다. FileReferenceList object로 browse() Methods를 호출해, 유저가 1 개 또는 복수의 파일을 선택할 때까지는, FileReferenceList object에는 아무것도 포함되지 않습니다. FileReference object로 browse() 를 호출하면, 이 object의 fileList property에 FileReference object의 배열이 설정됩니다.
See also
| browse | () | Methods |
public function browse(typeFilter:Array = null):Boolean
업 로드하는 로컬 파일을 1 개 이상 선택할 수 있는 파일 참조 다이알로그 박스를 표시합니다. 이 다이알로그 박스는, operating system의 네이티브의 다이알로그 박스입니다. 이 Methods를 호출해, 유저가 정상적으로 파일을 선택하면, 이 FileReferenceList object의 fileList property에 FileReference object의 배열이 설정됩니다. FileReference object는 유저가 선택한 파일 마다 작성됩니다. 이 이후 FileReferenceList.browse() Methods가 불려 갈 때마다,FileReferenceList.fileList property는, 다이알로그 박스로 유저가 선택한 파일에 리셋트 됩니다.
어느 파일을 다이알로그 박스에 표시할까를 결정하기 위해서(때문에),typeFilter Parameters를 사용할 수 있습니다.
FileReferenceList object에 대해, 한 번에 1 개의 FileReference.browse() 세션,FileReference.download() 세션, 또는 FileReferenceList.browse() 세션만을 실행할 수 있습니다. 이것은, 한 번에 1 개의 다이알로그 박스 밖에 열지 않기 때문입니다.
typeFilter:Array (default = null) — 다이알로그 박스에 표시하는 파일을 필터에 걸치는 경우에 사용하는 FileFilter 인스턴스의 배열입니다. 이 Parameters를 생략 하면, 모든 파일이 표시됩니다. 상세한 것에 대하여는,FileFilter 클래스를 참조해 주세요.
|
Boolean —
Parameters가 유효해, 파일 참조 다이알로그 박스가 표시되었을 경우에,true 를 돌려줍니다.
|
select:Event — 업 로드 대상의 항목을 유저가 다이알로그 박스로 정상적으로 선택했을 때에 불려 갑니다. |
|
cancel:Event — 유저가 [캔슬] 을 클릭할까 다이알로그 박스를 닫았을 경우에, 불려 갑니다. |
IllegalOperationError — 다음의 이유에 의해 슬로우 됩니다. 1) 다른 FileReference 브라우즈 세션, 또는 FileReferenceList 브라우즈 세션이 진행중의 경우. 파일 브라우즈의 세션은, 한 번에 1 개만 실행할 수 있습니다. 2) 유저의 "mms.cfg" 파일의 설정에 의해, 이 조작이 금지되고 있는 경우.
|
|
ArgumentError — typeFilter 배열에, 올바른 형식의 FileFilter object가 포함되지 않으면 예외가 슬로우 됩니다. 올바른 필터 형식의 상세한 것에 대하여는, FileFilter 의 설명을 참조해 주세요.
|
See also
| cancel | event |
flash.events.Event
flash.events.Event.CANCEL
유저가 파일 참조 다이알로그 박스를 닫으면, dispatch됩니다(이 다이알로그 박스는,FileReferenceList.browse() Methods,FileReference.browse() Methods, 또는FileReference.download() Methods를 호출했을 때에 열립니다).
cancelevent object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 조작을 캔슬하는 object에의 참조입니다. |
See also
| select | event |
flash.events.Event
flash.events.Event.SELECT
유저가 업 로드하는 파일을 파일 참조 다이알로그 박스로부터 1 개 이상 선택했을 때에 dispatch됩니다. (이 다이알로그 박스는,FileReferenceList.browse() Methods,FileReference.browse() Methods, 또는FileReference.download() Methods를 호출했을 때에 열립니다). 유저가 파일을 선택해,[보존] 등을 클릭해 조작을 확인하면, 유저가 선택한 파일을 나타내는 FileReference object가 FileReferenceList object로 설정됩니다.
select event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 아이템이 선택된 FileReference object입니다. |
See also
complete 이벤트가 포함됩니다.
이 이벤트는, FileReferenceList object내의 개개의 파일이 업 로드되면 dispatch됩니다. FileReferenceListExample 클래스의 LIST_COMPLETE 이벤트는,
FileReferenceList object내의 모든 파일이 업 로드되면,
dispatch됩니다.
이 예를 실행하려면 , 파일 업 로드의 수취 처리를 기술한 스크립트를, http://www. [도메인명]. com/yourUploadHandlerScript.cfm 에 배치합니다. 또, SWF 파일의 장소, 및 파일을 업 로드하는 장소에 근거해, [로컬에서의 재생에 관한 시큐러티] 를 [네트워크에게만 액세스 하는] 으로 설정해 SWF 파일을 컴파일 할 필요가 있는 경우도 있습니다. 또는 Flash® 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://flexdocs.kr/docs/flex2/langref/flash/net/FileReferenceList.html