ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.net 

FileReferenceList  - AS3

Paketflash.net
Klassepublic class FileReferenceList
VererbungFileReferenceList Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Die FileReferenceList-Klasse ermöglicht Benutzern das Auswählen einer oder mehrerer Dateien für den Upload. Dabei ist ein FileReferenceList-Objekt eine Gruppe lokal auf dem Computer des Benutzers gespeicherter Dateien, die als Array von FileReference-Objekten dargestellt wird. Weitere Informationen und wichtige Überlegungen zum Gebrauch von FileReference-Objekten und der FileReference-Klasse, die mit FileReferenceList verwendet wird, finden Sie im Abschnitt zur FileReference-Klasse.

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 Eigenschaft fileList des FileReferenceList-Objekts mit den Daten eines Arrays von FileReference-Objekten aktualisiert.
  • Rufen Sie danach für jedes Element des fileList-Arrays FileReference.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.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : 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
Öffentliche Methoden
 MethodeDefiniert von
  
Erstellt ein neues FileReferenceList-Objekt.
FileReferenceList
 Inherited
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
  
browse(typeFilter:Array = null):Boolean
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
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[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
 Inherited[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
Eigenschaftendetails

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

Konstruktordetails

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

Methodendetails

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.

Rückgabewerte
Boolean — Gibt true zurück, wenn die Parameter gültig sind und das Dialogfeld für die Dateisuche geöffnet wird.

Ereignisse
select:Event — Wird ausgelöst, wenn der Benutzer erfolgreich ein Element für den Upload-Vorgang aus dem Dialogfeld ausgewählt hat.
 
cancel:Event — 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

Ereignisdetails

cancel

Ereignis
Ereignisobjekttyp: 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.)

Die Event.CANCEL-Konstante definiert den Wert der type-Eigenschaft eines cancel-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetEin Verweis auf das Objekt, dessen Operation abgebrochen wurde.

Verwandte API-Elemente

select

Ereignis  
Ereignisobjekttyp: 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.

Die Event.SELECT-Konstante definiert den Wert der type-Eigenschaft eines select-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, auf dem ein Objekt ausgewählt wurde.

Verwandte API-Elemente

FileReferenceListExample.as

Im folgenden Beispiel wird gezeigt, wie Sie mit Ereignissen den Upload mehrerer Dateien verwalten können. Die CustomFileReferenceList-Klasse erweitert FileReferenceList und enthält das Ereignis 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());
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.