Paket | flash.net |
Klasse | public class FileReferenceList |
Vererbung | FileReferenceList EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
So arbeiten Sie mit der FileReferenceList-Klasse:
- Instanziieren der Klasse:
var myFileRef = new FileReferenceList();
- Rufen Sie die Methode
FileReferenceList.browse()
auf. Dadurch wird ein Dialogfeld geöffnet, in dem der Benutzer eine oder mehrere Dateien für den Upload-Vorgang auswählen kann:myFileRef.browse();
- Nach dem erfolgreichen Aufruf von
browse()
wird die EigenschaftfileList
des FileReferenceList-Objekts mit den Daten eines Arrays von FileReference-Objekten aktualisiert. - Rufen Sie danach für jedes Element des
fileList
-ArraysFileReference.upload()
auf.
Zur FileReferenceList-Klasse gehören auch eine browse()
-Methode und eine fileList
-Eigenschaft für das Arbeiten mit mehreren Dateien. Wenn eine FileReferenceList.browse()
-Methode aufgerufen wird, wird die Wiedergabe von SWF-Dateien in der eigenständigen und der externen Version von Flash Player und in AIR für Linux und Mac OS X 10.1 und früheren Versionen unterbrochen.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
fileList : Array [schreibgeschützt]
Ein Array von FileReference-Objekten. | FileReferenceList |
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein neues FileReferenceList-Objekt. | FileReferenceList | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Zeigt ein Dialogfeld zum Suchen von Dateien an, in dem der Benutzer eine oder mehrere lokal gespeicherte Dateien für einen Upload-Vorgang auswählen kann. | FileReferenceList | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
Wird ausgelöst, wenn der Benutzer das Dialogfeld zum Suchen von Dateien abbricht. | FileReferenceList | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Wird ausgelöst, wenn der Benutzer im Dialogfeld zum Suchen von Dateien eine oder mehrere Dateien für einen Upload-Vorgang auswählt. | FileReferenceList |
fileList | Eigenschaft |
fileList:Array
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Ein Array von FileReference
-Objekten.
Wenn die Methode FileReferenceList.browse()
aufgerufen wurde und ein Benutzer mindestens eine Datei aus dem mit der Methode browse()
geöffneten Dialogfeld ausgewählt hat, wird diese Eigenschaft mit einem Array von FileReference-Objekten aktualisiert, die die vom Benutzer ausgewählten Dateien darstellen. Sie können dieses Array verwenden, um die einzelnen Dateien mit der Methode FileReference.upload()
hochzuladen. Sie können nicht mehrere Dateien auf einmal hochladen.
Die Eigenschaft fileList
wird bei jedem Aufruf von „browse()“ für das FileReferenceList-Objekt aktualisiert.
Die Eigenschaften der FileReference
-Objekte sind in der Dokumentation der FileReference-Klasse beschrieben.
Implementierung
public function get fileList():Array
Verwandte API-Elemente
FileReferenceList | () | Konstruktor |
public function FileReferenceList()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Erstellt ein neues FileReferenceList-Objekt. Ein FileReferenceList-Objekt enthält keine Werte, bis Sie dafür die Methode browse()
aufrufen und der Benutzer eine oder mehrere Dateien auswählt. Beim Aufruf von browse()
für das FileReference-Objekt wird die Eigenschaft fileList
des Objekts mit einem Array von FileReference
-Objekten aktualisiert.
Verwandte API-Elemente
browse | () | Methode |
public function browse(typeFilter:Array = null):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Zeigt ein Dialogfeld zum Suchen von Dateien an, in dem der Benutzer eine oder mehrere lokal gespeicherte Dateien für einen Upload-Vorgang auswählen kann. Das Dialogfeld stammt vom Betriebssystem des Benutzers.
In Flash Player 10 und höher können Sie diese Methode nur erfolgreich als Antwort auf ein Benutzerereignis (z. B. in einer Ereignisprozedur für ein Mausklick- oder Tastendruckereignis) aufrufen. Andernfalls wird beim Aufrufen dieser Methode in Flash Player ein Fehler zurückgegeben.
Wenn diese Methode aufgerufen wird und ein Benutzer erfolgreich Dateien ausgewählt hat, wird die Eigenschaft fileList
dieses FileReferenceList-Objekts mit einem Array von FileReference-Objekten aktualisiert (ein Objekt pro vom Benutzer ausgewählter Datei). Bei jedem nachfolgenden Aufruf der Methode „FileReferenceList.browse()“ wird die Eigenschaft FileReferenceList.fileList
auf die vom Benutzer im Dialogfeld ausgewählten Dateien zurückgesetzt.
Mit dem Parameter typeFilter
können Sie festlegen, welche Dateien im Dialogfeld angezeigt werden.
Für ein FileReferenceList-Objekt kann immer nur jeweils eine FileReference.browse()
-, FileReference.download()
- oder FileReferenceList.browse()
-Sitzung ausgeführt werden, da immer nur ein Dialogfeld geöffnet werden kann.
Parameter
typeFilter:Array (default = null ) — Ein Array mit FileFilter-Instanzen zur Filterung der im Dialogfeld angezeigten Dateien. Wenn Sie diesen Parameter weglassen, werden alle Dateien angezeigt. Weitere Informationen finden Sie im Abschnitt zur Klasse FileFilter.
|
Boolean — Gibt true zurück, wenn die Parameter gültig sind und das Dialogfeld für die Dateisuche geöffnet wird.
|
Ereignisse
select: — Wird ausgelöst, wenn der Benutzer erfolgreich ein Element für den Upload-Vorgang aus dem Dialogfeld ausgewählt hat.
| |
cancel: — Wird aufgerufen, wenn der Benutzer das Dialogfeld abbricht oder schließt.
|
Auslöser
IllegalOperationError — Wird aufgrund der folgenden Ursachen ausgelöst: 1) Es wird bereits eine FileReference- oder FileReferenceList-Suchsitzung ausgeführt. Es können nicht mehrere Suchsitzungen gleichzeitig ausgeführt werden. 2) Der Vorgang wird durch eine Einstellung in der Datei „mms.cfg“ des Benutzers verhindert.
| |
ArgumentError — Wenn die FileFilter-Objekte im Array typeFilter nicht richtig formatiert sind, wird eine Ausnahme ausgelöst. Weitere Informationen über das richtige Filterformat finden Sie in der Dokumentation zu „FileFilter“.
| |
Error — Wenn die Methode nicht als Reaktion auf eine Benutzeraktion, z. B. Mausereignis oder Tastendruckereignis, aufgerufen wird.
|
Verwandte API-Elemente
cancel | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.CANCEL
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird ausgelöst, wenn der Benutzer das Dialogfeld zum Suchen von Dateien abbricht. (Dieses Dialogfeld wird beim Aufruf der Methode FileReferenceList.browse()
, FileReference.browse()
oder FileReference.download()
geöffnet.)
Event.CANCEL
-Konstante definiert den Wert der type
-Eigenschaft eines cancel
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Ein Verweis auf das Objekt, dessen Operation abgebrochen wurde. |
Verwandte API-Elemente
select | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.SELECT
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird ausgelöst, wenn der Benutzer im Dialogfeld zum Suchen von Dateien eine oder mehrere Dateien für einen Upload-Vorgang auswählt. (Dieses Dialogfeld wird beim Aufruf der Methode FileReferenceList.browse()
, FileReference.browse()
oder FileReference.download()
geöffnet.) Wenn der Benutzer eine Datei auswählt und den Vorgang bestätigt (z. B. durch Klicken auf „Speichern“), wird das FileReferenceList
-Objekt mit den Daten der FileReference-Objekte aktualisiert, die die vom Benutzer ausgewählten Dateien darstellen.
Event.SELECT
-Konstante definiert den Wert der type
-Eigenschaft eines select
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Objekt, auf dem ein Objekt ausgewählt wurde. |
Verwandte API-Elemente
complete
, das nach den Upload-Vorgängen der einzelnen Dateien im FileReferenceList-Objekt ausgelöst wird. Das Ereignis LIST_COMPLETE
der FileReferenceListExample-Klasse wird ausgelöst, wenn alle Dateien im FileReferenceList-Objekt hochgeladen wurden.
Verwenden Sie zur Ausführung dieses Beispiels ein Skript, das den Upload einer Datei unter http://www.[yourDomain].com/yourUploadHandlerScript.cfm zulässt. Abhängig vom Speicherort Ihrer SWF-Datei und dem Upload-Ziel müssen Sie außerdem ggf. die SWF-Datei unter Verwendung der Einstellung „Nur auf Netzwerk zugreifen“ für die Option „Sicherheit bei lokaler Wiedergabe“ kompilieren oder die Flash® Player-Sicherheitseinstellungen ändern, um den Netzwerkzugriff für diese Datei zuzulassen. Wenn das Upload-Ziel ein Remote-Server ist und Sie dieses Beispiel über Ihren Desktop-Computer ausführen, muss auf dem Server eine crossdomain.xml-Datei abgelegt sein.
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, 10:04 AM Z