| パッケージ | flash.net |
| public class FileReferenceList | |
| 継承 | FileReferenceList EventDispatcher Object |
FileReferenceList クラスを使用するには
var myFileRef = new FileReferenceList();FileReferenceList.browse() メソッドを呼び出して、ユーザーがアップロードするファイルを選択できるダイアログボックスを開きます。 myFileRef.browse();browse() メソッドが正常に呼び出された後、FileReferenceList オブジェクトの fileList プロパティに FileReference オブジェクトの配列が設定されます。fileList 配列内の各エレメントについて FileReference.upload() を呼び出します。FileReferenceList クラスには、browse() メソッドや、複数のファイルを使用するための fileList プロパティなどがあります。
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| fileList : Array
[read-only]
FileReference オブジェクトの配列です。 | FileReferenceList | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| メソッド | 定義 | ||
|---|---|---|---|
| FileReferenceList()
新しい FileReferenceList オブジェクトを作成します。
| FileReferenceList | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
| browse(typeFilter:Array = null):Boolean
アップロードするローカルファイルを 1 つ以上選択できるファイル参照ダイアログボックスを表示します。
| FileReferenceList | ||
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
| cancel | ユーザーがファイル参照ダイアログボックスを閉じると、送出されます | FileReferenceList | ||
| select | ユーザーがアップロードするファイルをファイル参照ダイアログボックスから 1 つ以上選択したときに送出されます。 | FileReferenceList | ||
| fileList | プロパティ |
fileList:Array [read-only]
FileReference オブジェクトの配列です。
FileReferenceList.browse() メソッドが呼び出され、ユーザーが browse() メソッドによって開いたダイアログボックスからファイルを選択すると、このプロパティに FileReference オブジェクトの配列が設定されます。このオブジェクトは、ユーザーが選択したファイルを表します。その後、この配列を使用して、FileReference.upload() メソッドで各ファイルをアップロードできます。一度に 1 つのファイルをアップロードする必要があります。
fileList プロパティは、browse() が FileReferenceList オブジェクトで呼び出されるたびに新しく設定されます。
FileReference オブジェクトのプロパティについての説明は、FileReference クラスの説明にあります。
public function get fileList():Array
関連項目
| FileReferenceList | () | コンストラクタ |
public 関数 FileReferenceList()
新しい FileReferenceList オブジェクトを作成します。FileReferenceList オブジェクトで browse() メソッドを呼び出し、ユーザーが 1 つまたは複数のファイルを選択するまでは、FileReferenceList オブジェクトには何も含まれません。FileReference オブジェクトで browse() を呼び出すと、このオブジェクトの fileList プロパティに FileReference オブジェクトの配列が設定されます。
関連項目
| browse | () | メソッド |
public function browse(typeFilter:Array = null):Boolean
アップロードするローカルファイルを 1 つ以上選択できるファイル参照ダイアログボックスを表示します。このダイアログボックスは、オペレーティングシステムのネイティブのダイアログボックスです。このメソッドを呼び出して、ユーザーが正常にファイルを選択すると、この FileReferenceList オブジェクトの fileList プロパティに FileReference オブジェクトの配列が設定されます。FileReference オブジェクトはユーザーが選択したファイルごとに作成されます。これ以降 FileReferenceList.browse() メソッドが呼び出されるたびに、FileReferenceList.fileList プロパティは、ダイアログボックスでユーザーが選択したファイルにリセットされます。
どのファイルをダイアログボックスに表示するかを決定するために、typeFilter パラメータを使用できます。
FileReferenceList オブジェクトに対し、一度に 1 つの FileReference.browse() セッション、FileReference.download() セッション、または FileReferenceList.browse() セッションだけを実行できます。これは、一度に 1 つのダイアログボックスしか開けないからです。
typeFilter:Array (default = null) — ダイアログボックスに表示するファイルをフィルタにかける場合に使用する FileFilter インスタンスの配列です。このパラメータを省略すると、すべてのファイルが表示されます。詳細については、FileFilter クラスを参照してください。
|
Boolean —
パラメータが有効で、ファイル参照ダイアログボックスが表示された場合に、true を返します。
|
select:Event — アップロード対象の項目をユーザーがダイアログボックスで正常に選択したときに呼び出されます。 |
|
cancel:Event — ユーザーが [キャンセル] をクリックするかダイアログボックスを閉じた場合に、呼び出されます。 |
IllegalOperationError — 次の理由によりスローされます。1) 他の FileReference ブラウズセッション、または FileReferenceList ブラウズセッションが進行中の場合。ファイルブラウズのセッションは、一度に 1 つのみ実行できます。2) ユーザーの "mms.cfg" ファイルの設定により、この操作が禁止されている場合。
|
|
ArgumentError — typeFilter 配列に、正しい形式の FileFilter オブジェクトが含まれていないと、例外がスローされます。正しいフィルタ形式の詳細については、FileFilter の説明を参照してください。
|
関連項目
| cancel | event |
flash.events.Event
flash.events.Event.CANCEL
ユーザーがファイル参照ダイアログボックスを閉じると、送出されます(このダイアログボックスは、FileReferenceList.browse() メソッド、FileReference.browse() メソッド、またはFileReference.download() メソッドを呼び出したときに開かれます)。
cancelイベントオブジェクトの type プロパティの値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 操作をキャンセルするオブジェクトへの参照です。 |
関連項目
| select | event |
flash.events.Event
flash.events.Event.SELECT
ユーザーがアップロードするファイルをファイル参照ダイアログボックスから 1 つ以上選択したときに送出されます。(このダイアログボックスは、FileReferenceList.browse() メソッド、FileReference.browse() メソッド、またはFileReference.download() メソッドを呼び出したときに開かれます)。ユーザーがファイルを選択し、[保存] などをクリックして操作を確認すると、ユーザーが選択したファイルを表す FileReference オブジェクトが FileReferenceList オブジェクトに設定されます。
select イベントオブジェクトの type プロパティの値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | アイテムが選択された FileReference オブジェクトです。 |
関連項目
complete イベントが含まれます。
このイベントは、FileReferenceList オブジェクト内の個々のファイルがアップロードされると送出されます。FileReferenceListExample クラスの LIST_COMPLETE イベントは、
FileReferenceList オブジェクト内のすべてのファイルがアップロードされると、
送出されます。
この例を実行するには、ファイルアップロードの受け取り処理を記述したスクリプトを、 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());
}
}