Paket | flash.net |
Klasse | public class FileReference |
Vererbung | FileReference EventDispatcher Object |
Unterklassen | File |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Hinweis: In Adobe AIR bietet die File-Klasse, die die FileReference-Klasse erweitert, mehr Fähigkeiten und hat weniger Sicherheitseinschränkungen als die FileReference-Klasse.
FileReference-Instanzen können auf die folgenden Weisen erstellt werden:
- Mit dem Operator
new
und dem FileReference-Konstruktor:var myFileReference = new FileReference();
- Durch Aufruf der Methode
FileReferenceList.browse()
, wodurch ein Array mit den FileReference-Objekten erstellt wird.
Bei einem Upload-Vorgang werden den Eigenschaften eines FileReference-Objekts durch Aufrufe von FileReference.browse()
oder FileReferenceList.browse()
-Werte zugewiesen. Bei einem Download-Vorgang wird der Eigenschaft name
ein Wert zugewiesen, wenn das Ereignis select
ausgelöst wird. Die Werte aller anderen Eigenschaften werden bei Auslösung des Ereignisses complete
zugewiesen.
Mit der Methode browse()
wird ein Dialogfeld des Betriebssystems geöffnet, in dem der Benutzer zur Auswahl einer Datei für den Upload-Vorgang aufgefordert wird. Mithilfe der FileReference.browse()
-Methode kann ein Benutzer eine einzelne Datei auswählen. FileReferenceList.browse()
ermöglicht die Auswahl mehrerer Dateien. Nach einem erfolgreichen Aufruf der browse()
-Methode können Sie die FileReference.upload()
-Methode aufrufen, um jeweils eine Datei hochzuladen. Die FileReference.download()
-Methode fordert den Benutzer zur Eingabe eines Speicherorts für die Datei auf und startet den Download der Datei von einer anderen URL.
Allerdings kann mit den Klassen FileReference und FileReferenceList der Standardspeicherort für das mit der Methode browse()
oder download()
generierte Dialogfeld nicht festgelegt werden. Der im Dialogfeld angegebene Standardspeicherort ist der zuletzt durchsuchte Ordner, sofern dieser Speicherort festgestellt werden kann, oder der Desktop. Die Klassen ermöglichen keine Lese- bzw. Schreibvorgänge bei den übertragenen Dateien. Über die SWF-Datei, mit der der Upload- bzw. Download-Vorgang eingeleitet wurde, besteht kein Zugriff auf die hoch- oder heruntergeladene Datei bzw. deren Speicherort auf der Festplatte des Benutzers.
Darüber hinaus gibt es bei den FileReference- und FileReferenceList-Klassen keine Authentifizierungsverfahren. Sollte ein Server also eine Authentifizierung erforderlich machen, können Sie Dateien zwar mit dem Browser-Plug-In von Flash® Player herunterladen, mit dem eigenständigen oder externen Player jedoch nicht. Upload-Vorgänge sind mit keinem Player möglich. Mithilfe von FileReference-Ereignis-Listenern können Sie feststellen, ob ein Vorgang erfolgreich ausgeführt wurde, und gegebenenfalls Fehler beheben.
Wenn Inhalt in Flash Player oder außerhalb der Sicherheitssandbox der Anwendung in Adobe AIR ausgeführt wird, können Upload- und Download-Vorgänge nur auf Dateien in der eigenen Domäne und in Domänen, die in einer URL-Richtliniendatei angegeben sind, zugreifen. Wenn sich der Inhalt, mit dem die Upload- bzw. Download-Vorgänge gestartet werden, nicht in derselben Domäne befindet wie der Dateiserver, legen Sie eine entsprechende Richtliniendatei auf dem Dateiserver ab.
Beachten Sie, dass aufgrund neuer zusätzlicher Funktionalität von Flash Player beim Veröffentlichen in Flash Player 10 immer nur einer der folgenden Vorgänge aktiv sein kann: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Ansonsten gibt Flash Player einen Laufzeitfehler (Code 2174) aus. Stoppen Sie den laufenden Vorgang mithilfe von FileReference.cancel()
. Diese Einschränkung betrifft lediglich Flash Player 10. Ältere Versionen von Flash Player sind von den Einschränkungen bezüglich gleichzeitig ausgeführter Vorgänge nicht betroffen.
Wenn eine FileReference.browse()
-, FileReferenceList.browse()
- oder FileReference.download()
-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.
Die folgende HTTP-POST
-Anforderung wird von Flash Player an ein serverseitiges Skript gesendet, wenn keine Parameter angegeben wurden:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Flash Player sendet die folgende HTTP-POST
-Anforderung, wenn der Benutzer die Parameter "api_sig"
, "api_key"
und "auth_token"
angibt:
POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
creationDate : Date [schreibgeschützt]
Das Erstellungsdatum der Datei auf der lokalen Festplatte. | FileReference | ||
creator : String [schreibgeschützt]
Der Macintosh-Erstellertyp der Datei, der nur mit Mac OS-Versionen, die älter als Mac OS X sind, verwendet wird. | FileReference | ||
data : ByteArray [schreibgeschützt]
Das ByteArray-Objekt, das die Daten aus der geladenen Datei nach einem erfolgreichen Aufruf der load()-Methode repräsentiert. | FileReference | ||
extension : String [schreibgeschützt]
Die Dateinamenerweiterung. | FileReference | ||
modificationDate : Date [schreibgeschützt]
Das Datum, an dem die Datei auf der lokalen Festplatte zuletzt geändert wurde. | FileReference | ||
name : String [schreibgeschützt]
Der Name der Datei auf der lokalen Festplatte. | FileReference | ||
permissionStatus : String [statisch] [schreibgeschützt]
Bestimmen Sie, ob der Anwendung die Berechtigung zum Zugriff auf das Dateisystem erteilt wurde. | FileReference | ||
size : Number [schreibgeschützt]
Die Größe der Datei auf der lokalen Festplatte in Byte. | FileReference | ||
type : String [schreibgeschützt]
Der Dateityp. | FileReference |
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein neues FileReference-Objekt. | FileReference | ||
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 für die Dateisuche an, in dem der Benutzer eine Datei für einen Upload-Vorgang auswählen kann. | FileReference | ||
Bricht alle laufenden Upload- bzw. Download-Vorgänge dieses FileReference-Objekts ab. | FileReference | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Öffnet ein Dialogfeld, mit dem der Benutzer eine Datei von einem Remote-Server herunterladen kann. | FileReference | ||
Ü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 | ||
Startet das Laden einer lokalen Datei, die vom einem Benutzer ausgewählt wurde. | FileReference | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Fordert die Berechtigung zum Zugriff auf das Dateisystem an. | FileReference | ||
Öffnet ein Dialogfeld, das es dem Benutzer ermöglicht, eine Datei in ein lokales Dateisystem zu speichern. | FileReference | ||
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 | ||
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Startet den Upload der Datei auf einen Remote-Server. | FileReference | ||
Leiten Sie das Hochladen einer Datei auf eine URL ohne Kodierung ein. | FileReference | ||
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 eine Upload- oder Download-Vorgang über das Dialogfeld zum Suchen von Dateien abbricht. | FileReference | |||
Wird ausgelöst, wenn der Download-Vorgang abgeschlossen ist oder wenn beim Upload-Vorgang der HTTP-Statuscode 200 generiert wird. | FileReference | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Wird ausgelöst, wenn ein Aufruf der upload()- oder uploadUnencoded()-Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann. | FileReference | |||
Wird ausgelöst, wenn ein Upload-Vorgang fehlschlägt und HTTP-Statuscode zur Beschreibung des Fehlers verfügbar ist. | FileReference | |||
Wird ausgelöst, wenn der Upload- bzw. Download-Vorgang fehlschlägt. | FileReference | |||
Wird beim Start eines Upload- bzw. Download-Vorgangs ausgelöst. | FileReference | |||
Wird abgesetzt, wenn die Anwendung die Berechtigung zum Zugriff auf das Dateisystem anfordert. | FileReference | |||
Wird regelmäßig während des Upload- bzw. Download-Vorgangs ausgelöst. | FileReference | |||
Wird ausgelöst, wenn mit einem Aufruf der Methode „FileReference.upload()“ oder „FileReference.download()“ versucht wird, eine Datei auf einen Server zu laden oder von einem Server herunterzuladen, der sich außerhalb der Sicherheitssandbox des Aufrufers befindet. | FileReference | |||
Wird ausgelöst, wenn der Benutzer im Dialogfeld zum Suchen von Dateien eine Datei für einen Upload- oder Download-Vorgang auswählt. | FileReference | |||
Wird ausgelöst, nachdem die Daten vom Server nach einem erfolgreichen Upload empfangen wurden. | FileReference |
creationDate | Eigenschaft |
creationDate:Date
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Das Erstellungsdatum der Datei auf der lokalen Festplatte. Falls das Objekt keine Daten enthält, gibt der Aufruf dieser Eigenschaft null
zurück.
Hinweis: Wenn ein Betriebssystem nicht creationDate
als Eigenschaft hat, ist in solchen Fällen CreationDate
gleich lastModifiedDate
.
Implementierung
public function get creationDate():Date
Auslöser
IllegalOperationError — Wenn die Methode FileReference.browse() , FileReferenceList.browse() oder FileReference.download() nicht erfolgreich aufgerufen werden konnte, wird eine Ausnahme mit einer Meldung ausgelöst, die angibt, dass die Funktionen in der falschen Reihenfolge aufgerufen wurden oder ein vorhergehender Aufruf nicht erfolgreich war. In diesem Fall weist die Eigenschaft creationDate den Wert null auf.
| |
IOError — Wenn nicht auf die Dateidaten zugegriffen werden kann, wird eine Ausnahme mit einer Meldung ausgelöst, die einen I/O-Fehler angibt.
|
Verwandte API-Elemente
creator | Eigenschaft |
creator:String
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Der Macintosh-Erstellertyp der Datei, der nur in Mac OS-Versionen vor Mac OS X verwendet wird. In Windows oder Linux ist diese Eigenschaft null
. Falls das FileReference-Objekt noch keine Daten enthält, gibt der Aufruf dieser Eigenschaft null
zurück.
Implementierung
public function get creator():String
Auslöser
IllegalOperationError — Wenn die Methode FileReference.browse() , FileReferenceList.browse() oder FileReference.download() nicht erfolgreich aufgerufen werden konnte, wird eine Ausnahme mit einer Meldung ausgelöst, die angibt, dass die Funktionen in der falschen Reihenfolge aufgerufen wurden oder ein vorhergehender Aufruf nicht erfolgreich war. In diesem Fall weist die Eigenschaft creator den Wert null auf.
|
Verwandte API-Elemente
data | Eigenschaft |
data:ByteArray
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Das ByteArray-Objekt, das die Daten aus der geladenen Datei nach einem erfolgreichen Aufruf der load()
-Methode repräsentiert.
Implementierung
public function get data():ByteArray
Auslöser
IllegalOperationError — Wenn die load() -Methode nicht erfolgreich aufgerufen wurde, wird ein Ausnahmefehler mit der Meldung zurückgegeben, dass Funktionen in der falschen Reihenfolge aufgerufen wurden oder dass ein früherer Aufruf nicht erfolgreich war. In diesem Fall weist die data -Eigenschaft den Wert null auf.
| |
IOError — Wenn die Datei nicht geöffnet oder gelesen werden kann oder beim Zugriff auf die Datei ein ähnlicher Fehler auftritt, wird eine Ausnahme mit einer Meldung ausgelöst, die einen I/O-Fehler angibt. In diesem Fall weist die data -Eigenschaft den Wert null auf.
|
Verwandte API-Elemente
extension | Eigenschaft |
extension:String
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0 |
Die Dateinamenerweiterung.
Eine Dateierweiterung ist der Teil des Namens, der hinter dem letzten Punkt („.“) steht. Der Punkt selbst gehört nicht zur Erweiterung. Wenn der Dateiname keinen Punkt enthält, ist die Erweiterung null
.
Hinweis: Sie sollte den Dateityp mit der extension
-Eigenschaft bestimmen; verwenden Sie nicht die Eigenschaften creator
oder type
. Sie können die Eigenschaften creator
und type
als veraltet betrachten. Sie gelten für ältere Mac OS-Versionen.
Implementierung
public function get extension():String
Auslöser
IllegalOperationError — Wenn der Verweis nicht initialisiert wurde.
|
modificationDate | Eigenschaft |
modificationDate:Date
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Player 9 |
Das Datum, an dem die Datei auf der lokalen Festplatte zuletzt geändert wurde. Falls das FileReference-Objekt noch keine Daten enthält, gibt der Aufruf dieser Eigenschaft null
zurück.
Implementierung
public function get modificationDate():Date
Auslöser
IllegalOperationError — Wenn die Methode FileReference.browse() , FileReferenceList.browse() oder FileReference.download() nicht erfolgreich aufgerufen werden konnte, wird eine Ausnahme mit einer Meldung ausgelöst, die angibt, dass die Funktionen in der falschen Reihenfolge aufgerufen wurden oder ein vorhergehender Aufruf nicht erfolgreich war. In diesem Fall weist die Eigenschaft modificationDate den Wert null auf.
| |
IOError — Wenn nicht auf die Dateidaten zugegriffen werden kann, wird eine Ausnahme mit einer Meldung ausgelöst, die einen I/O-Fehler angibt.
|
Verwandte API-Elemente
name | Eigenschaft |
name:String
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Der Name der Datei auf der lokalen Festplatte. Wenn das FileReference-Objekt keine Daten enthält (aus einem Aufruf von FileReference.download()
oder FileReference.browse()
), löst Flash Player einen Fehler aus, wenn Sie versuchen, den Wert diese Eigenschaft abzurufen.
Den Eigenschaften eines FileReference-Objekts werden durch einen Aufruf der Methode browse()
Werte zugewiesen. Im Unterschied zu anderen FileReference-Eigenschaften wird beim Aufruf der Methode download()
die Eigenschaft name
erst bei Auslösung des Ereignisses select
mit Daten aktualisiert.
Implementierung
public function get name():String
Auslöser
IllegalOperationError — Wenn die Methode FileReference.browse() , FileReferenceList.browse() oder FileReference.download() nicht erfolgreich aufgerufen werden konnte, wird eine Ausnahme mit einer Meldung ausgelöst, die angibt, dass die Funktionen in der falschen Reihenfolge aufgerufen wurden oder ein vorhergehender Aufruf nicht erfolgreich war.
|
Verwandte API-Elemente
permissionStatus | Eigenschaft |
size | Eigenschaft |
size:Number
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Die Größe der Datei auf der lokalen Festplatte in Byte.
Hinweis: In der ersten Version von ActionScript 3.0 wurde die size
-Eigenschaft als uint-Objekt definiert, das Dateigrößen bis zu ca. 4 GB unterstützt. Sie wird jetzt als Number-Objekt implementiert, um größere Dateien zu unterstützen.
Implementierung
public function get size():Number
Auslöser
IllegalOperationError — Wenn die Methode FileReference.browse() , FileReferenceList.browse() oder FileReference.download() nicht erfolgreich aufgerufen werden konnte, wird eine Ausnahme mit einer Meldung ausgelöst, die angibt, dass die Funktionen in der falschen Reihenfolge aufgerufen wurden oder ein vorhergehender Aufruf nicht erfolgreich war.
| |
IOError — Wenn die Datei nicht geöffnet oder gelesen werden kann oder beim Zugriff auf die Datei ein ähnlicher Fehler auftritt, wird eine Ausnahme mit einer Meldung ausgelöst, die einen I/O-Fehler angibt.
|
Verwandte API-Elemente
type | Eigenschaft |
type:String
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Der Dateityp.
In Windows oder Linux ist diese Eigenschaft die Dateierweiterung. Auf Macintosh-Systemen ist diese Eigenschaft der vierbuchstabige Dateityp, der nur in Mac OS-Versionen, die älter als Mac OS X sind, verwendet wird. Wenn das FileReference-Objekt keine Daten enthält, gibt ein Aufruf zum Abrufen des Werts diese Eigenschaft null
zurück.
Für Windows, Linux und Mac OS X die Dateierweiterung, also der Teil der name
-Eigenschaft, der auf das letzte Vorkommen des Punkts (.) folgt. Zeichen - identifiziert den Dateityp.
Implementierung
public function get type():String
Auslöser
IllegalOperationError — Wenn die Methode FileReference.browse() , FileReferenceList.browse() oder FileReference.download() nicht erfolgreich aufgerufen werden konnte, wird eine Ausnahme mit einer Meldung ausgelöst, die angibt, dass die Funktionen in der falschen Reihenfolge aufgerufen wurden oder ein vorhergehender Aufruf nicht erfolgreich war. In diesem Fall weist die Eigenschaft type den Wert null auf.
|
Verwandte API-Elemente
FileReference | () | Konstruktor |
public function FileReference()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Erstellt ein neues FileReference-Objekt. Sobald dieses Objekt mit Daten versehen ist, wird ein FileReference-Objekt zu einer Datei auf der lokalen Festplatte eines Benutzers.
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 für die Dateisuche an, in dem der Benutzer eine Datei für einen Upload-Vorgang auswählen kann. Das Dialogfeld stammt vom Betriebssystem des Benutzers. Der Benutzer kann eine Datei aus dem lokalen System oder aus anderen Systemen auswählen, z. B. über einen UNC-Pfad (Windows).
Hinweis: Die in Adobe AIR verfügbare File-Klasse enthält Methoden für den Zugriff auf spezifischere Dialogfelder für die Auswahl von Systemdateien. Diese Methoden sind File.browseForDirectory()
, File.browseForOpen()
, File.browseForOpenMultiple()
und File.browseForSave()
.
Wenn diese Methode aufgerufen wird und der Benutzer erfolgreich eine Datei auswählt, werden die Eigenschaften dieses FileReference-Objekts mit den Eigenschaftendaten der Datei aktualisiert. Bei jedem nachfolgenden Aufruf der Methode FileReference.browse()
werden die Eigenschaften des FileReference-Objekts auf die vom Benutzer im Dialogfeld ausgewählte Datei zurückgesetzt. Es kann immer nur eine browse()
- oder download()
-Sitzung durchgeführt werden (da immer nur ein Dialogfeld aufgerufen werden kann).
Mit dem Parameter typeFilter
können Sie festlegen, welche Dateien im Dialogfeld angezeigt werden.
In Flash Player 10 und Flash Player 9 mit Update 5 können Sie diese Methode nur als Reaktion auf ein Benutzerereignis erfolgreich aufrufen, z. B. in einer Ereignisprozedur für ein Mausklick- oder Tastendruckereignis. Andernfalls führt das Aufrufen dieser Methode dazu, dass Flash Player einen Ausnahmefehler ausgibt.
Beachten Sie, dass aufgrund neuer zusätzlicher Funktionalität von Flash Player beim Veröffentlichen in Flash Player 10 immer nur einer der folgenden Vorgänge aktiv sein kann: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Ansonsten gibt Flash Player einen Laufzeitfehler (Code 2174) aus. Stoppen Sie den laufenden Vorgang mithilfe von FileReference.cancel()
. Diese Einschränkung betrifft lediglich Flash Player 10. Ältere Versionen von Flash Player sind von den Einschränkungen bezüglich gleichzeitig ausgeführter Vorgänge nicht betroffen.
In Adobe AIR wird das Dialogfeld zur Dateiauswahl nicht immer vor Fenstern angezeigt, die „Eigentum“ eines anderen Fensters sind (Fenster, deren owner
-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.
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 aus der Dateiauswahl wählt.
| |
cancel: — Wird ausgelöst, wenn der Benutzer das Fenster zum Suchen einer Datei für den Upload-Vorgang schließt.
|
Auslöser
IllegalOperationError — Wird in folgenden Situationen 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 das Array typeFilter falsch formatierte FileFilter-Objekte enthält, wird eine Ausnahme ausgelöst. Informationen zum gültigen Format für FileFilter-Objekte finden Sie im Abschnitt zur Klasse FileFilter.
| |
Error — Wenn die Methode nicht als Reaktion auf eine Benutzeraktion, z. B. Mausereignis oder Tastendruckereignis, aufgerufen wird.
|
Verwandte API-Elemente
cancel-Ereignis
FileReference.download()
FileReferenceList.browse()
File.browseForDirectory()
File.browseForOpen()
File.browseForOpenMultiple()
File.browseForSave()
cancel | () | Methode |
public function cancel():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Bricht alle laufenden Upload- bzw. Download-Vorgänge dieses FileReference-Objekts ab. Durch Aufruf dieser Methode wird nicht das Ereignis cancel
ausgelöst. Dieses Ereignis wird nur ausgelöst, wenn der Benutzer den Vorgang abbricht, indem er das Dialogfeld für den Upload- bzw. Download-Vorgang schließt.
download | () | Methode |
public function download(request:URLRequest, defaultFileName:String = null):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Öffnet ein Dialogfeld, mit dem der Benutzer eine Datei von einem Remote-Server herunterladen kann. In Flash Player ist kein Grenzwert für die Größe der Dateien für Upload- und Download-Vorgänge festgelegt. Offiziell unterstützt der Player Dateigrößen von bis zu 100 MB.
Mit der Methode download()
wird zunächst ein Dialogfeld des Betriebssystems geöffnet, in dem der Benutzer aufgefordert wird, einen Dateinamen einzugeben und einen Ordner zum Speichern der Datei auf dem lokalen Computer auszuwählen. Wenn der Benutzer den Speicherort auswählt und den Download-Vorgang bestätigt (z. B. durch Klicken auf „Speichern“), wird der Download vom Remote-Server gestartet. Listener erhalten Ereignisdaten und zeigen den Fortschritt, den Erfolg oder den Fehlschlag des Downloads an. Um den Status des Dialogfelds und des Download-Vorgangs nach dem download
-Aufruf ermitteln zu können, muss der Code Listener für Ereignisse wie cancel
, open
, progress
und complete
enthalten.
Die Funktionen FileReference.upload()
und FileReference.download()
sind ungeblockt. Die Funktionsrückgaben erfolgen nach dem Aufruf vor Abschluss der Dateiübertragung. Wenn bei einem FileReference-Objekt der Gültigkeitsbereich verlassen wird, werden alle zu dem Zeitpunkt noch nicht abgeschlossenen Upload- bzw. Download-Vorgänge für dieses Objekt abgebrochen. Stellen Sie sicher, dass das FileReference-Objekt während der gesamten Dauer des Upload- bzw. Download-Vorgangs den Gültigkeitsbereich nicht verlässt.
Nach erfolgreich abgeschlossenem Download-Vorgang werden die Eigenschaften des FileReference-Objekts mit den Eigenschaften der lokalen Datei aktualisiert. Bei erfolgreichem Abschluss des Download-Vorgangs wird das Ereignis complete
ausgelöst.
Es kann immer nur eine browse()
- oder download()
-Sitzung durchgeführt werden (da immer nur ein Dialogfeld aufgerufen werden kann).
Diese Methode unterstützt den Download jedes Dateityps mit HTTP oder HTTPS.
Eine Verbindung mit normalerweise reservierten Ports ist nicht möglich. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
Hinweis: Wenn der Server eine Benutzerauthentifizierung erfordert, kann der Benutzer nur bei SWF-Dateien, die in einem Browser (also mit einem Browser-Plug-In oder einer ActiveX-Steuerung) ausgeführt werden, in einem Dialogfeld zur Eingabe eines Benutzernamens und eines Kennworts zur Authentifizierung aufgefordert werden. Dies gilt darüber hinaus nur für Download-Vorgänge. Upload-Vorgänge mit Plug-Ins oder ActiveX-Steuerelementen bzw. Upload- und Download-Vorgänge mit dem eigenständigen oder externen Player schlagen fehl.
Bedenken Sie beim Einsatz dieser Methode das Sicherheitsmodell von Flash Player:
- Ladevorgänge sind nicht zulässig, wenn die aufrufende SWF-Datei sich in einer nicht vertrauenswürdigen lokalen Sandbox befindet.
- Standardmäßig werden Sandbox-übergreifende Zugriffe nicht zugelassen. Eine Website kann den Zugriff auf eine Ressource durch das Hinzufügen einer URL-Richtliniendatei ermöglichen.
- Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter
allowNetworking
der Tagsobject
undembed
festlegen. - In Flash Player 10 und Flash Player 9 mit Update 5 können Sie diese Methode nur als Reaktion auf ein Benutzerereignis erfolgreich aufrufen, z. B. in einer Ereignisprozedur für ein Mausklick- oder Tastendruckereignis. Andernfalls führt das Aufrufen dieser Methode dazu, dass Flash Player einen Ausnahmefehler ausgibt.
In Adobe AIR dagegen ist Inhalt in der Sicherheitssandbox der Anwendung
(mit der AIR-Anwendung installierter Inhalt) nicht durch diese Sicherheitseinschränkungen beschränkt.
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.
Wenn Sie eine Datei mit dieser Methode herunterladen, wird sie als heruntergeladen gekennzeichnet, sofern das Betriebssystem heruntergeladene Dateien kennzeichnet:
- Windows XP Service Pack 2 und höher und Windows Vista
- Mac OS 10.5 und höher
Einige Betriebssysteme, zum Beispiel Linux, kennzeichnen heruntergeladene Dateien nicht.
Beachten Sie, dass aufgrund neuer zusätzlicher Funktionalität von Flash Player beim Veröffentlichen in Flash Player 10 immer nur einer der folgenden Vorgänge aktiv sein kann: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Ansonsten gibt Flash Player einen Laufzeitfehler (Code 2174) aus. Stoppen Sie den laufenden Vorgang mithilfe von FileReference.cancel()
. Diese Einschränkung betrifft lediglich Flash Player 10. Ältere Versionen von Flash Player sind von den Einschränkungen bezüglich gleichzeitig ausgeführter Vorgänge nicht betroffen.
In Adobe AIR wird das Download-Dialogfeld nicht immer vor Fenstern angezeigt, die „Eigentum“ eines anderen Fensters sind (Fenster, deren owner
-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.
Parameter
request:URLRequest — Das URLRequest-Objekt. Die Eigenschaft url des URLRequest-Objekts muss die URL der Datei enthalten, die auf den lokalen Computer heruntergeladen werden soll. Wenn dieser Parameter den Wert null aufweist, wird eine Ausnahme ausgelöst. Die requestHeaders -Eigenschaft des URLRequest-Objekts wird ignoriert. Benutzerdefinierte HTTP-Anforderungs-Header werden in Uploads und Downloads nicht unterstützt. Um POST - bzw. GET-Parameter an den Server zu senden, setzen Sie den Wert von URLRequest.data auf Ihre Parameter und URLRequest.method entweder auf URLRequestMethod.POST oder auf URLRequestMethod.GET .
Bei einigen Browsern sind URL-Strings in ihrer Länge beschränkt. So können URLs mit über 256 Zeichen unter Umständen bei einigen Browsern oder Servern fehlschlagen. | |
defaultFileName:String (default = null ) — Der Standarddateiname der herunterzuladenden Datei, der im Dialogfeld angezeigt wird. Dieser String darf keines der folgenden Zeichen enthalten: / \ : * ? " < > | %
Wenn Sie diesen Parameter weglassen, wird der Dateiname der Remote-URL analysiert und als Standarddateiname verwendet. |
Ereignisse
open: — Wird ausgelöst, wenn ein Download-Vorgang gestartet wird.
| |
progress: — Wird regelmäßig während des Download-Vorgangs ausgelöst.
| |
complete: — Wird ausgelöst, wenn der Download einer Datei erfolgreich abgeschlossen wurde.
| |
cancel: — Wird ausgelöst, wenn der Benutzer das Dialogfeld abbricht.
| |
select: — Wird ausgelöst, wenn der Benutzer in einem Dialogfeld eine Datei für einen Download-Vorgang auswählt.
| |
securityError: — Wird ausgelöst, wenn ein Download-Vorgang aufgrund eines Sicherheitsfehlers abgebrochen wird.
| |
ioError: — Wird aus einem der folgenden Gründe ausgelöst:
|
Auslöser
IllegalOperationError — Wird in folgenden Situationen ausgelöst: 1) Es wird bereits eine Suchsitzung ausgeführt. Es können nicht mehrere Suchsitzungen gleichzeitig ausgeführt werden. 2) Der an request übergebene Wert enthält keinen gültigen Pfad/kein gültiges Protokoll. 3) Der Name der für den Download-Vorgang ausgewählten Datei enthält unzulässige Zeichen. 4) Der Vorgang wird durch eine Einstellung in der Datei „mms.cfg“ des Benutzers verhindert.
| |
SecurityError — Über lokalen nicht vertrauenswürdigen Inhalt kann keine Verbindung mit dem Internet hergestellt werden. Sie können dieses Problem vermeiden, indem Sie die SWF-Datei als lokal mit Netzwerkzugang oder als vertrauenswürdig klassifizieren. Diese Ausnahme wird mit einer Meldung ausgelöst, die den Dateinamen und die URL enthält, auf die aufgrund der Sicherheitsbeschränkungen für lokale Dateien nicht zugegriffen werden kann.
| |
SecurityError — Eine Verbindung mit normalerweise reservierten Ports ist nicht möglich. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
| |
ArgumentError — Wenn url.data den Typ „ByteArray“ aufweist, wird eine Ausnahme ausgelöst. Bei Verwendung mit den Methoden FileReference.upload() und FileReference.download() sind für url.data nur die Typen „URLVariables“ und „String“ zulässig.
| |
MemoryError — Dieser Fehler kann folgende Ursachen haben: 1) Flash Player kann den Parameter URLRequest.data nicht von UTF8 in MBCS konvertieren. Dieser Fehler trifft zu, wenn das an die Methode FileReference.download() übergebene URLRequest-Objekt auf die Ausführung eines GET-Vorgangs eingestellt ist und wenn System.useCodePage auf true gesetzt ist. 2) Flash Player kann POST -Daten keinen Speicher zuweisen. Dieser Fehler trifft zu, wenn das an die Methode FileReference.download() übergebene URLRequest-Objekt auf die Ausführung eines POST -Vorgangs eingestellt ist.
| |
Error — Wenn die Methode nicht als Reaktion auf eine Benutzeraktion, z. B. Mausereignis oder Tastendruckereignis, aufgerufen wird.
|
Verwandte API-Elemente
FileReference.browse()
FileReferenceList.browse()
FileReference.upload()
FileReference.save()
Beispiel ( Verwendung dieses Beispiels )
download
gezeigt. Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft von downloadURL.url
so, dass sie auf eine tatsächliche Domäne und Datei anstatt auf die fiktive URL http://www.[yourDomain].com/SomeFile.pdf verweist. Außerdem müssen Sie 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.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; public class FileReference_download extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_download() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
load | () | Methode |
public function load():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Startet das Laden einer lokalen Datei, die vom einem Benutzer ausgewählt wurde. In Flash Player bestehen zwar keine Beschränkungen bezüglich der Größe von Dateien, die hochgeladen, heruntergeladen, geladen oder gespeichert werden können, aber das Programm unterstützt offiziell Größen von bis zu 100 MB. Für Inhalt, der in Flash Player ausgeführt wird, müssen Sie die FileReference.browse()
- oder die FileReferenceList.browse()
-Methode aufrufen, bevor Sie die load()
-Methode aufrufen. Inhalt, der in AIR in der Anwendungssandbox ausgeführt wird, kann jedoch die load()
-Methode eines Dateiobjekts aufrufen, ohne zuerst die browse()
-Methode aufzurufen. (Die AIR File-Klasse erweitert die FileReference-Klasse.)
Listener empfangen Ereignisse, um den Fortschritt, Erfolg oder Nichterfolg des Ladevorgangs anzuzeigen. Sie können zwar das FileReferenceList-Objekt verwenden, um Benutzer mehrere Dateien auswählen zu lassen, die geladen werden sollen, aber Sie müssen die Dateien einzeln laden. Um die Dateien einzeln zu laden, iterieren Sie durch das FileReferenceList.fileList
-Array der FileReference-Objekte.
Adobe AIR enthält auch die FileStream-Klasse, die weitere Optionen zum Lesen von Dateien bereitstellt.
Die FileReference.upload()
-, FileReference.download()
-, FileReference.load()
- und FileReference.save()
-Funktionen sind nicht-blockierend. Die Funktionsrückgaben erfolgen nach dem Aufruf vor Abschluss der Dateiübertragung. Zusätzlich gilt: Wenn bei einem FileReference-Objekt der Gültigkeitsbereich verlassen wird, werden alle zu dem Zeitpunkt noch nicht abgeschlossenen Transaktionen für dieses Objekt abgebrochen. Stellen Sie sicher, dass das FileReference-Objekt während der gesamten Dauer des Upload-, Download-, Speicher- bzw. Ladevorgangs den Gültigkeitsbereich nicht verlässt.
Wenn die Datei erfolgreich geladen wurde, wird ihr Inhalt als ein Bytearray in der data
-Eigenschaft des FileReference-Objekts gespeichert.
Bezüglich der Sicherheit sind folgende Punkte zu beachten:
- Ladevorgänge sind nicht zulässig, wenn die aufrufende SWF-Datei sich in einer nicht vertrauenswürdigen lokalen Sandbox befindet.
- Standardmäßig werden Sandbox-übergreifende Zugriffe nicht zugelassen. Bei einer Website kann der Zugriff auf eine Ressource durch eine Cross-Domain-Richtliniendatei ermöglicht werden.
- Sie können eine Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter
allowNetworking
der Tagsobject
undembed
festlegen.
Die genannten Punkte gelten nicht für AIR-Inhalt in der Anwendungssandbox.
Hinweis: Wenn Sie eine Anwendung für Flash Player 10 oder AIR 1.5 veröffentlichen, kann jeweils nur eine der folgenden Methoden aktiv sein: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Andernfalls gibt die Anwendung einen Laufzeitfehler zurück (Code 2174). Stoppen Sie den laufenden Vorgang mithilfe von FileReference.cancel()
. Diese Beschränkung bezieht sich nur auf Flash Player 10 und AIR 1.5. Für frühere Version von Flash Player oder AIR gilt diese Beschränkung bezüglich mehrerer Methoden nicht.
In Adobe AIR wird das Dialogfeld zur Dateiauswahl nicht immer vor Fenstern angezeigt, die „Eigentum“ eines anderen Fensters sind (Fenster, deren owner
-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.
Ereignisse
open: — Wird beim Start eines Ladevorgangs ausgelöst.
| |
progress: — Wird regelmäßig während des Ladevorgangs der Datei ausgelöst.
| |
complete: — Wird ausgelöst, wenn der Ladevorgang einer Datei erfolgreich abgeschlossen wurde.
| |
ioError: — Wird aufgerufen, wenn das Laden wegen eines Input/Output-Fehlers fehlschlägt, während die Anwendung eine Datei liest oder schreibt.
|
Auslöser
IllegalOperationError — Wird in folgenden Situationen 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.
| |
MemoryError — Dieser Fehler kann auftreten, wenn die Anwendung keinen Speicher für die Datei zuordnen kann. Die Datei ist möglicherweise zu groß oder der verfügbare Speicherplatz reicht nicht aus.
|
Verwandte API-Elemente
FileReferenceList.browse()
FileReference.data
FileReferenceList.fileList
FileReference.save()
FileStream
Beispiel ( Verwendung dieses Beispiels )
var buttonShape:Shape = new Shape(); buttonShape.graphics.beginFill(0x336699); buttonShape.graphics.drawCircle(50, 50, 25); var button = new SimpleButton(buttonShape, buttonShape, buttonShape, buttonShape); addChild(button); var fileRef:FileReference= new FileReference(); button.addEventListener(MouseEvent.CLICK, onButtonClick); function onButtonClick(e:MouseEvent):void { fileRef.browse([new FileFilter("Images", "*.jpg;*.gif;*.png")]); fileRef.addEventListener(Event.SELECT, onFileSelected); } function onFileSelected(e:Event):void { fileRef.addEventListener(Event.COMPLETE, onFileLoaded); fileRef.load(); } function onFileLoaded(e:Event):void { var loader:Loader = new Loader(); loader.loadBytes(e.target.data); addChild(loader); }
requestPermission | () | Methode |
public function requestPermission():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 24.0 |
Fordert die Berechtigung zum Zugriff auf das Dateisystem an.
Ereignisse
PermissionStatus: — wird abgesetzt, wenn die angeforderte Berechtigung vom Benutzer gewährt/abgelehnt wird.
|
save | () | Methode |
public function save(data:*, defaultFileName:String = null):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Öffnet ein Dialogfeld, das es dem Benutzer ermöglicht, eine Datei in ein lokales Dateisystem zu speichern. In Flash Player bestehen zwar keine Beschränkungen bezüglich der Größe von Dateien, die hochgeladen, heruntergeladen, geladen oder gespeichert werden können, aber der Player unterstützt offiziell Größen von bis zu 100 MB.
Die save()
-Methode öffnet zuerst ein Betriebssystem-Dialogfeld, das den Benutzer zur Eingabe eines Dateinamens und zur Auswahl eines Ordners auf dem lokalen Computer auffordert, in dem die Datei gespeichert werden soll. Wenn der Benutzer einen Ordner auswählt und den Speichervorgang bestätigt (z. B. indem er auf „Speichern“ klickt), wird die Datei gespeichert. Listener empfangen Ereignisse, um den Fortschritt, Erfolg oder Nichterfolg des Speichervorgangs anzuzeigen. Um den Status des Dialogfelds und des Speichervorgangs nach dem Aufrufen von save()
ermitteln zu können, muss Ihr Code Ereignisse wie cancel
, open
, progress
und complete
überwachen.
Adobe AIR enthält auch die FileStream-Klasse, die weitere Optionen zum lokalen Speichern von Dateien bereitstellt.
Die FileReference.upload()
-, FileReference.download()
-, FileReference.load()
- und FileReference.save()
-Funktionen sind nicht-blockierend. Die Funktionsrückgaben erfolgen nach dem Aufruf vor Abschluss der Dateiübertragung. Zusätzlich gilt: Wenn bei einem FileReference-Objekt der Gültigkeitsbereich verlassen wird, werden alle zu dem Zeitpunkt noch nicht abgeschlossenen Transaktionen für dieses Objekt abgebrochen. Stellen Sie sicher, dass das FileReference-Objekt während der gesamten Dauer des Upload-, Download-, Speicher- bzw. Ladevorgangs den Gültigkeitsbereich nicht verlässt.
Wenn die Datei erfolgreich gespeichert wurde, werden die Eigenschaften des FileReference-Objekts mit den Eigenschaften der lokalen Datei gefüllt. Das complete
-Ereignis wird ausgelöst, wenn der Speichervorgang erfolgreich war.
Es kann jeweils nur eine browse()
- oder save()
-Sitzung durchgeführt werden (weil jeweils nur ein Dialogfeld aufgerufen werden kann).
In Flash Player 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 führt das Aufrufen dieser Methode dazu, dass Flash Player einen Ausnahmefehler ausgibt. Diese Beschränkung gilt nicht für AIR-Inhalt in der Anwendungssandbox.
In Adobe AIR wird das Speichern-Dialogfeld nicht immer vor Fenstern angezeigt, die „Eigentum“ eines anderen Fensters sind (Fenster, deren owner
-Eigenschaft nicht null ist). Um Probleme mit der Anordnung von Fenstern zu vermeiden, blenden Sie Fenster aus, die Eigentum eines anderen Fensters sind, bevor Sie diese Methode aufrufen.
Parameter
data:* — Die Daten, die gespeichert werden sollen. Die Daten können in einem von mehreren Formaten vorliegen und werden entsprechend behandelt:
| |
defaultFileName:String (default = null ) — Der Standarddateiname, der im Dialogfeld für die zu speichernde Datei angezeigt wird. Dieser String darf keines der folgenden Zeichen enthalten: / \ : * ? " < > | %
Wenn ein File-Objekt diese Methode aufruft, ist der Dateiname der Name der Datei, auf den das File-Objekt verweist. (Die AIR File-Klasse erweitert die FileReference-Klasse.) |
Ereignisse
open: — Wird ausgelöst, wenn ein Download-Vorgang gestartet wird.
| |
progress: — Wird regelmäßig während des Download-Vorgangs ausgelöst.
| |
complete: — Wird ausgelöst, wenn der Download einer Datei erfolgreich abgeschlossen wurde.
| |
cancel: — Wird ausgelöst, wenn der Benutzer das Dialogfeld abbricht.
| |
select: — Wird ausgelöst, wenn der Benutzer in einem Dialogfeld eine Datei für einen Download-Vorgang auswählt.
| |
ioError: — Wird ausgelöst, wenn ein Input/Output-Fehler während des Lesens oder der Übertragung der Datei auftritt.
|
Auslöser
IllegalOperationError — Wird in folgenden Situationen ausgelöst: 1) Es wird bereits eine Suchsitzung ausgeführt. Es können nicht mehrere Suchsitzungen gleichzeitig ausgeführt werden. 2) Der Name der für den Download-Vorgang ausgewählten Datei enthält unzulässige Zeichen. 3) Der Vorgang wird durch eine Einstellung in der Datei „mms.cfg“ des Benutzers verhindert.
| |
ArgumentError — Wenn data nicht auf den Typ „ByteArray“ gesetzt ist und keine toString() -Methode hat, wird ein Ausnahmefehler zurückgegeben. Wenn data nicht auf den Typ „XML“ gesetzt ist und keine toXMLString() -Methode hat, wird ein Ausnahmefehler zurückgegeben.
| |
Error — Wenn die Methode nicht als Reaktion auf eine Benutzeraktion, z. B. Mausereignis oder Tastendruckereignis, aufgerufen wird.
| |
MemoryError — Dieser Fehler kann auftreten, wenn Flash Player keinen Speicher für die Datei zuordnen kann. Die Datei ist möglicherweise zu groß oder der verfügbare Speicherplatz reicht nicht aus.
|
Verwandte API-Elemente
FileReference.load()
FileReference.data
FileReference.upload()
FileReference.download()
FileStream
Beispiel ( Verwendung dieses Beispiels )
MyTextField
) sowie ein weiteres Textfeld, das nicht bearbeitet werden kann (MyButtonField
) und als „Schaltfläche“ für Mausklicks dient. Ein Benutzer kann das erste Textfeld bearbeiten und auf die Schaltfläche klicken, um den Inhalt des Textfelds in einer lokalen Datei zu speichern. Die Mausklick-Ereignisprozedur clickhandler
verwendet die FileReference.save()
-Methode (für ein FileReference-Objekt mit dem Namen MyFileReference
), um ein Dialogfeld im aktuellen Betriebssystem des Benutzer zu öffnen, damit der Benutzer den Inhalt in einer lokalen Datei speichern kann, deren Namen er selbst eingibt.
var MyTextField:TextField = new TextField(); var MyButtonField:TextField = new TextField(); var MyFile:FileReference = new FileReference(); MyTextField.border = true; MyTextField.type = TextFieldType.INPUT; MyButtonField.background = true; MyButtonField.backgroundColor = 0x339933; MyButtonField.x = 150; MyButtonField.height = 20; MyButtonField.text = "Click here to save"; addChild(MyTextField); addChild(MyButtonField); MyButtonField.addEventListener(MouseEvent.CLICK, clickhandler); function clickhandler(e:MouseEvent): void { MyFile.save(MyTextField.text); }
upload | () | Methode |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Startet den Upload der Datei auf einen Remote-Server. In Flash Player ist kein Grenzwert für die Größe der Dateien für Upload- und Download-Vorgänge festgelegt. Offiziell unterstützt der Player Dateigrößen von bis zu 100 MB. Vor dem Aufruf dieser Methode müssen Sie die Methode FileReference.browse()
oder FileReferenceList.browse()
aufrufen.
Für die File-Klassen von Adobe AIR, die die FileReference-Klasse erweitern, können Sie die upload()
-Methode zum Hochladen beliebiger Dateien verwenden. Bei der FileReference-Klasse (in Flash Player verwendet) muss der Benutzer zuerst eine Datei auswählen.
Listener erhalten Ereignisdaten und zeigen den Fortschritt, den Erfolg oder den Fehlschlag des Uploads an. Sie können Benutzern mit dem Objekt „FileReferenceList“ zwar die Auswahl mehrerer Dateien zum Upload ermöglichen, die Dateien müssen jedoch einzeln hochgeladen werden. Verwenden Sie hierzu das Array FileReferenceList.fileList
der FileReference-Objekte.
Die Funktionen FileReference.upload()
und FileReference.download()
sind ungeblockt. Die Funktionsrückgaben erfolgen nach dem Aufruf vor Abschluss der Dateiübertragung. Wenn bei einem FileReference-Objekt der Gültigkeitsbereich verlassen wird, werden alle zu dem Zeitpunkt noch nicht abgeschlossenen Upload- bzw. Download-Vorgänge für dieses Objekt abgebrochen. Stellen Sie sicher, dass das FileReference-Objekt während der gesamten Dauer des Upload- bzw. Download-Vorgangs den Gültigkeitsbereich nicht verlässt.
Die betreffenden Dateien werden zu der im Parameter url
angegebenen jeweiligen URL hochgeladen. Bei der URL sollte es sich um ein Serverskript handeln, das für Uploads konfiguriert ist. In Flash Player werden Dateien mit der HTTP POST
-Methode hochgeladen. Das den Upload verwaltende Serverskript sollte eine POST
-Anforderung mit den folgenden Elementen erwarten:
Content-Type
mit dem Wertmultipart/form-data
Content-Disposition
mit einem standardmäßig auf"Filedata"
gesetztenname
-Attribut und einemfilename
-Attribut, das auf den Namen der ursprünglichen Datei gesetzt ist.- Die Binärdaten der Datei
Eine Verbindung mit normalerweise reservierten Ports ist nicht möglich. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
Ein Beispiel für eine POST
-Anforderung finden Sie in der Beschreibung zum Parameter uploadDataFieldName
. Sie können POST
- oder GET
-Parameter mit der Methode upload()
an den Server senden. Nähere Informationen finden Sie in der Beschreibung zum Parameter request
.
Wenn der Parameter testUpload
den Wert true
aufweist und die hochzuladende Datei größer ist als etwa 10 KB, sendet Flash Player unter Windows vor dem Hochladen der tatsächlichen Datei zunächst einen Test-Upload ohne Inhalt mit der POST
-Methode, um sicherzustellen, dass die Übertragung erfolgreich durchgeführt werden kann. Anschließend wird ein zweiter POST
-Vorgang mit dem tatsächlichen Dateiinhalt gesendet. Bei Dateien, die kleiner sind als 10 KB, führt Flash Player nur einen POST
-Vorgang mit dem tatsächlichen Inhalt der hochzuladenden Datei durch. Auf Macintosh-Plattformen werden keine POST
-Vorgänge für Test-Uploads durchgeführt.
Hinweis: Wenn der Server eine Benutzerauthentifizierung erfordert, kann der Benutzer nur bei SWF-Dateien, die in einem Browser (also mit einem Browser-Plug-In oder einer ActiveX-Steuerung) ausgeführt werden, in einem Dialogfeld zur Eingabe eines Benutzernamens und eines Kennworts zur Authentifizierung aufgefordert werden. Dies gilt darüber hinaus nur für Download-Vorgänge. Upload-Vorgänge mit Plug-Ins oder ActiveX-Steuerelementen bzw. Upload- und Download-Vorgänge mit dem eigenständigen oder externen Player schlagen fehl.
Bedenken Sie beim Einsatz dieser Methode das Sicherheitsmodell von Flash Player:
- Ladevorgänge sind nicht zulässig, wenn die aufrufende SWF-Datei sich in einer nicht vertrauenswürdigen lokalen Sandbox befindet.
- Standardmäßig werden Sandbox-übergreifende Zugriffe nicht zugelassen. Eine Website kann den Zugriff auf eine Ressource durch das Hinzufügen einer URL-Richtliniendatei ermöglichen.
- Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter
allowNetworking
der Tagsobject
undembed
festlegen.
In Adobe AIR unterliegt Inhalt in der Sicherheitssandbox der Anwendung
(Inhalt, der mit der AIR-Anwendung installiert wird) nicht diesen Sicherheitseinschränkungen.
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.
Beachten Sie, dass aufgrund neuer zusätzlicher Funktionalität von Flash Player beim Veröffentlichen in Flash Player 10 immer nur einer der folgenden Vorgänge aktiv sein kann: FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Ansonsten gibt Flash Player einen Laufzeitfehler (Code 2174) aus. Stoppen Sie den laufenden Vorgang mithilfe von FileReference.cancel()
. Diese Einschränkung betrifft lediglich Flash Player 10. Ältere Versionen von Flash Player sind von den Einschränkungen bezüglich gleichzeitig ausgeführter Vorgänge nicht betroffen.
Parameter
request:URLRequest — Das URLRequest-Objekt. Die Eigenschaft url des URLRequest-Objekts muss die URL des Serverskripts enthalten, das für die Verarbeitung von Upload-Vorgängen über HTTP POST -Aufrufe konfiguriert ist. Bei einigen Browsern sind URL-Strings in ihrer Länge beschränkt. So können URLs mit über 256 Zeichen unter Umständen bei einigen Browsern oder Servern fehlschlagen. Wenn dieser Parameter den Wert null aufweist, wird eine Ausnahme ausgelöst. Die requestHeaders -Eigenschaft des URLRequest-Objekts wird ignoriert. Benutzerdefinierte HTTP-Anforderungs-Header werden in Uploads und Downloads nicht unterstützt.
Diese URL kann entweder eine HTTP- oder, aus Sicherheitsgründen, eine HTTPS-Adresse sein. Wenn HTTPS verwendet werden soll, setzen Sie den Parameter Um | |
uploadDataFieldName:String (default = "Filedata ") — Der Feldname, der den Dateidaten im Upload-Vorgang mit der POST -Methode vorangestellt ist. Der Wert für uploadDataFieldName darf nicht null und kein leerer String sein. Standardmäßig weist uploadDataFieldName den Wert "Filedata" auf, wie im folgenden Beispiel für eine POST -Anforderung gezeigt:
Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="Filedata"; filename="example.jpg" Content-Type: application/octet-stream ... contents of example.jpg ... --AaB03x-- | |
testUpload:Boolean (default = false ) — Eine Einstellung für die Anforderung eines Test-Uploads. Wenn testUpload auf true gesetzt ist, wird bei Dateien mit einer Größe über 10 KB ein Test-Upload mit der POST -Methode durchgeführt, wobei der Wert für die Länge des Inhalts 0 ist (kein Inhalt). Mit dem Test-Upload wird überprüft, ob der tatsächliche Upload-Vorgang mit Serverauthentifizierung (falls erforderlich) erfolgreich abgeschlossen werden kann. Test-Upload-Vorgänge sind nur für Player unter Windows verfügbar.
|
Ereignisse
open: — Wird ausgelöst, wenn ein Upload-Vorgang gestartet wird.
| |
progress: — Wird regelmäßig während des Upload-Vorgangs ausgelöst.
| |
complete: — Wird ausgelöst, wenn der Upload einer Datei erfolgreich abgeschlossen wurde.
| |
uploadCompleteData: — Wird ausgelöst, nachdem die Daten vom Server nach einem erfolgreichen Datei-Upload empfangen wurden.
| |
securityError: — Wird ausgelöst, wenn ein Upload-Vorgang aufgrund einer Sicherheitsverletzung fehlschlägt.
| |
httpStatus: — Wird ausgelöst, wenn ein Upload-Vorgang aufgrund eines HTTP-Fehlers fehlschlägt.
| |
httpResponseStatus: — Der Upload-Vorgang wird erfolgreich abgeschlossen und der Server gibt eine Antwort-URL und Antwort-Header zurück.
| |
ioError: — Wird in den folgenden Situationen aufgerufen:
|
Auslöser
SecurityError — Über lokale nicht vertrauenswürdige SWF-Dateien kann keine Verbindung mit dem Internet hergestellt werden. Sie können dieses Problem vermeiden, indem Sie die SWF-Datei als lokal mit Netzwerkzugang oder als vertrauenswürdig klassifizieren. Diese Ausnahme wird mit einer Meldung ausgelöst, die den Dateinamen und die URL enthält, auf die nicht zugegriffen werden kann.
| |
SecurityError — Eine Verbindung mit normalerweise reservierten Ports ist nicht möglich. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
| |
IllegalOperationError — Wird in folgenden Situationen 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 Parameter „URL“ enthält keinen gültigen Pfad/kein gültiges Protokoll. Für Upload-Vorgänge muss HTTP und für Download-Vorgänge FTP oder HTTP verwendet werden. 3) Der Parameter uploadDataFieldName weist den Wert null auf. 4) Der Vorgang wird durch eine Einstellung in der Datei „mms.cfg“ des Benutzers verhindert.
| |
ArgumentError — Wird in folgenden Situationen ausgelöst: 1) Der Parameter uploadDataFieldName ist ein leerer String. 2) url.data weist den Typ „ByteArray“ auf. Bei Verwendung mit den Methoden FileReference.upload() und FileReference.download() sind für url.data nur die Typen „URLVariables“ und „String“ zulässig. 3) In der AIR-Laufzeitumgebung (in der Sicherheitssandbox der Anwendung) ist die Methode von URLRequest nicht GET oder POST (verwenden Sie stattdessen uploadEncoded() ).
| |
MemoryError — Dieser Fehler kann folgende Ursachen haben: 1) Flash Player kann den Parameter URLRequest.data nicht von UTF8 in MBCS konvertieren. Dieser Fehler trifft zu, wenn das an FileReference.upload() übergebene URLRequest-Objekt auf die Ausführung eines GET-Vorgangs eingestellt ist und wenn System.useCodePage auf true gesetzt ist. 2) Flash Player kann POST -Daten keinen Speicher zuweisen. Dieser Fehler trifft zu, wenn das an FileReference.upload() übergebene URLRequest-Objekt auf die Ausführung eines POST -Vorgangs eingestellt ist.
|
Verwandte API-Elemente
uploadUnencoded | () | Methode |
public function uploadUnencoded(request:URLRequest):void
Laufzeitversionen: | AIR 1.0 |
Leiten Sie das Hochladen einer Datei auf eine URL ohne Kodierung ein. Während die upload()
-Methode die Datei in einem Formulardatenumschlag kodiert, übergibt die uploadUnencoded()
-Methode den Dateiinhalt wie er ist im HTTP-Anforderungshauptteil. Verwenden Sie die uploadUnencoded()-Methode, wenn die Daten, die Sie senden möchten, bereits in einem Format kodiert sind, dass der empfangende Server akzeptiert. Normalerweise wird die uploadeUnencoded()
-Methode mit der HTTP/WebDAV PUT
-Methode.
Parameter
request:URLRequest — Das URLRequest-Objekt. Die Eigenschaft url des URLRequest-Objekts muss die URL des Serverskripts enthalten, das für die Verarbeitung von Upload-Vorgängen über HTTP POST -Aufrufe konfiguriert ist. Bei einigen Browsern sind URL-Strings in ihrer Länge beschränkt. So können URLs mit über 256 Zeichen unter Umständen bei einigen Browsern oder Servern fehlschlagen. Wenn dieser Parameter den Wert null aufweist, wird eine Ausnahme ausgelöst.
Diese URL kann entweder eine HTTP- oder, aus Sicherheitsgründen, eine HTTPS-Adresse sein. Wenn HTTPS verwendet werden soll, setzen Sie den Parameter Um |
Ereignisse
open: — Wird ausgelöst, wenn ein Upload-Vorgang gestartet wird.
| |
progress: — Wird regelmäßig während des Upload-Vorgangs ausgelöst.
| |
complete: — Wird ausgelöst, wenn der Upload einer Datei erfolgreich abgeschlossen wurde.
| |
uploadCompleteData: — Wird ausgelöst, nachdem die Daten vom Server nach einem erfolgreichen Datei-Upload empfangen wurden.
| |
securityError: — Wird ausgelöst, wenn ein Upload-Vorgang aufgrund einer Sicherheitsverletzung fehlschlägt.
| |
httpStatus: — Wird ausgelöst, wenn ein Upload-Vorgang aufgrund eines HTTP-Fehlers fehlschlägt.
| |
httpResponseStatus: — Der Upload-Vorgang wird erfolgreich abgeschlossen und der Server gibt eine Antwort-URL und Antwort-Header zurück.
| |
ioError: — Wird in den folgenden Situationen aufgerufen:
|
Auslöser
SecurityError — Über lokale nicht vertrauenswürdige SWF-Dateien kann keine Verbindung mit dem Internet hergestellt werden. Sie können dieses Problem vermeiden, indem Sie die SWF-Datei als lokal mit Netzwerkzugang oder als vertrauenswürdig klassifizieren. Diese Ausnahme wird mit einer Meldung ausgelöst, die den Dateinamen und die URL enthält, auf die nicht zugegriffen werden kann.
| |
IllegalOperationError — Wird in folgenden Situationen 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 Parameter „URL“ enthält keinen gültigen Pfad/kein gültiges Protokoll. Der Datei-Upload muss HTTP verwenden.
|
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 eine Upload- oder Download-Vorgang über das Dialogfeld zum Suchen von Dateien abbricht. Flash Player löst dieses Ereignis nicht aus, wenn der Benutzer einen Upload bzw. Download auf andere Weise abbricht (durch Schließen des Browsers oder anhalten der aktuellen Anwendung).
DieEvent.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. |
Beispiel ( Verwendung dieses Beispiels )
cancel
gezeigt. Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft von downloadURL.url
so, dass sie auf eine tatsächliche Domäne und Datei anstatt auf die fiktive URL http://www.[yourDomain].com/SomeFile.pdf verweist. Außerdem müssen Sie 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.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_cancel extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_cancel() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); file.addEventListener(Event.CANCEL, cancelHandler); file.download(downloadURL, fileName); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } } }
complete | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.COMPLETE
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird ausgelöst, wenn der Download-Vorgang abgeschlossen ist oder wenn beim Upload-Vorgang der HTTP-Statuscode 200 generiert wird. Bei Download-Vorgängen wird dieses Ereignis ausgelöst, wenn Flash Player oder Adobe AIR den Download der gesamten Datei auf die Festplatte abgeschlossen hat. Bei Upload-Vorgängen wird dieses Ereignis ausgelöst, nachdem Flash Player oder Adobe AIR vom empfangenden Server den HTTP-Statuscode 200 empfangen hat.
DieEvent.COMPLETE
-Konstante definiert den Wert der type
-Eigenschaft eines complete
-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 Netzwerkobjekt, dessen Ladevorgang beendet ist. |
Beispiel ( Verwendung dieses Beispiels )
complete
gezeigt. Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft von downloadURL.url
so, dass sie auf eine tatsächliche Domäne und Datei anstatt auf die fiktive URL http://www.[yourDomain].com/SomeFile.pdf verweist. Außerdem müssen Sie 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.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_complete extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_complete() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
Verwandte API-Elemente
httpResponseStatus | Ereignis |
flash.events.HTTPStatusEvent
Eigenschaft HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, AIR 1.0 |
Wird ausgelöst, wenn ein Aufruf der upload()
- oder uploadUnencoded()
-Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann.
httpStatus
-Ereignis wird das httpResponseStatus
-Ereignis ausgelöst, bevor Antwortdaten vorliegen. Außerdem enthält das httpResponseStatus
-Ereignis Werte für die Eigenschaften responseHeaders
und responseURL
(die für ein httpStatus
-Ereignis nicht definiert sind). Beachten Sie, dass das Ereignis httpResponseStatus
(falls vorhanden) vor (und zusätzlich zu) jedem complete
- oder error
-Ereignis gesendet wird.
Die HTTPStatusEvent.HTTP_RESPONSE_STATUS
-Konstante definiert den Wert der type
-Eigenschaft eines httpResponseStatus
-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. |
responseURL | Die URL, von der die Antwort zurückgegeben wurde. |
responseHeaders | Die Antwortheader, die die Antwort zurückgegeben hat, als Array von URLRequestHeader-Objekten. |
status | Der vom Server zurückgegebene HTTP-Statuscode. |
redirected | Gibt an, ob die Antwort das Ergebnis einer Weiterleitung ist. |
target | Das Netzwerkobjekt, das den HTTP-Statuscode empfängt. |
Verwandte API-Elemente
httpStatus | Ereignis |
flash.events.HTTPStatusEvent
Eigenschaft HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird ausgelöst, wenn ein Upload-Vorgang fehlschlägt und HTTP-Statuscode zur Beschreibung des Fehlers verfügbar ist. Das Ereignis httpStatus
wird gefolgt von einem ioError
-Ereignis ausgelöst.
Das Ereignis httpStatus
wird nur bei Upload-Fehlern ausgelöst. Bei Inhalt, der im Flash Player ausgeführt wird, gilt dieses Ereignis nicht für fehlgeschlagene Downloads. Wenn ein Download mit einem HTTP-Fehler abbricht, wird dieser Fehler als I/O-Fehler gemeldet.
HTTPStatusEvent.HTTP_STATUS
-Konstante definiert den Wert der type
-Eigenschaft eines httpStatus
-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. |
status | Der vom Server zurückgegebene HTTP-Statuscode. |
target | Das Netzwerkobjekt, das den HTTP-Statuscode empfängt. |
Verwandte API-Elemente
ioError | Ereignis |
flash.events.IOErrorEvent
Eigenschaft IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird ausgelöst, wenn der Upload- bzw. Download-Vorgang fehlschlägt. Das Fehlschlagen einer Dateiübertragung kann folgende Ursachen haben:
- Während des Lese-, Schreib- oder Übertragungsvorgangs der Datei ist ein I/O-Fehler aufgetreten.
- Die SWF-Datei versucht, eine Datei auf einen Server hochzuladen, der eine Authentifizierung (z. B. anhand eines Benutzernamens und eines Kennworts) erfordert. Während des Uploads stellt Flash Player bzw. die Adobe AIR-Anwendung keine Möglichkeit für die Eingabe von Kennwörtern durch die Benutzer bereit. Wenn eine SWF-Datei versucht, eine Datei auf einen Server hochzuladen, der eine Authentifizierung erfordert, schlägt dieser Upload fehl.
- Die SWF-Datei versucht, im Standalone- oder externen Player eine Datei von einem Server herunterzuladen, der eine Authentifizierung erfordert. Während des Downloads stellt der eigenständige bzw. externe Player keine Möglichkeit für die Eingabe von Kennwörtern durch die Benutzer bereit. Wenn mit einer SWF-Datei versucht wird, innerhalb dieser Player eine Datei von einem Server herunterzuladen, der eine Authentifizierung erfordert, schlägt dieser Download fehl. Der Datei-Download kann nur in der ActiveX-Steuerung, in Browser-Plug-In-Playern und in der Adobe AIR-Laufzeitumgebung erfolgen.
- Der an den Parameter
url
in der Methodeupload()
übergebene Wert enthält ein ungültiges Protokoll. Die zulässigen Protokolle sind HTTP und HTTPS.
Wichtig: Dialogfelder zur Eingabe eines Benutzernamens und Kennworts zur Benutzerauthentifizierung für anschließende Download-Vorgänge (und nichts anderes) können nur von Anwendungen, die in einem Browser ausgeführt werden (also Anwendungen, die das Browser-Zusatzmodul oder das ActiveX-Steuerelement verwenden) und von Inhalt angezeigt werden, der in Adobe AIR ausgeführt wird. Upload-Vorgänge mit der Zusatzmodul- oder ActiveX-Steuerelementversion bzw. Upload- und Download-Vorgänge mit dem eigenständigen oder externen Player schlagen fehl.
Definiert den Wert der Eigenschafttype
eines ioError
-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. |
errorID | Die Referenznummer des spezifischen Fehlers (nur AIR). |
target | Das Netzwerkobjekt, bei dem der Eingabe/Ausgabe-Fehler auftritt. |
text | Der als Fehlermeldung anzuzeigende Text. |
Verwandte API-Elemente
open | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.OPEN
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird beim Start eines Upload- bzw. Download-Vorgangs ausgelöst.
DieEvent.OPEN
-Konstante definiert den Wert der type
-Eigenschaft eines open
-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 Netzwerkobjekt, über das eine Verbindung geöffnet wurde. |
Beispiel ( Verwendung dieses Beispiels )
download
gezeigt. Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft von downloadURL.url
so, dass sie auf eine tatsächliche Domäne und Datei anstatt auf die fiktive URL http://www.[yourDomain].com/SomeFile.pdf verweist. Außerdem müssen Sie 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.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; public class FileReference_download extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_download() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); configureListeners(file); file.download(downloadURL, fileName); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); } private function cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url); } } }
Verwandte API-Elemente
permissionStatus | Ereignis |
flash.events.PermissionEvent
Eigenschaft PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 24.0 |
Wird abgesetzt, wenn die Anwendung die Berechtigung zum Zugriff auf das Dateisystem anfordert. Überprüfen Sie den Wert der Eigenschaft Status
, um festzustellen, ob die Berechtigung gewährt oder verweigert wurde.
Verwandte API-Elemente
progress | Ereignis |
flash.events.ProgressEvent
Eigenschaft ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird regelmäßig während des Upload- bzw. Download-Vorgangs ausgelöst. Das Ereignis progress
wird ausgelöst, während Flash Player Byte an einen Server sendet. Im Verlauf der Übertragung wird das Ereignis in regelmäßigen Abständen auch dann aufgerufen, wenn die Übertragung am Ende nicht erfolgreich abgeschlossen werden kann. Wenn Sie feststellen möchten, ob und zu welchem Zeitpunkt die Dateiübertragung erfolgreich abgeschlossen wird, verwenden Sie einen Listener für das complete
-Ereignis.
In einigen Fällen werden keine progress
-Ereignisse empfangen. Wenn die übertragene Datei beispielsweise sehr klein ist oder der Upload- bzw. Download-Vorgang in sehr kurzer Zeit erfolgt, wird möglicherweise kein progress
-Ereignis ausgelöst.
Bei Macintosh-Plattformen vor Version OS X 10.3 kann der Fortschritt von Upload-Vorgängen nicht festgestellt werden. Das progress
-Ereignis wird zwar während des Upload-Vorgangs aufgerufen, die Eigenschaft bytesLoaded
weist jedoch stets den Wert -1 auf, was bedeutet, dass der Fortschritt nicht festgestellt werden kann.
type
eines progress
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
bytesLoaded | Die Anzahl der geladenen Elemente oder Byte zu dem Zeitpunkt, zu dem der Listener das Ereignis verarbeitet. |
bytesTotal | Die Gesamtanzahl der Elemente oder Byte, die bei einem erfolgreichen Ladevorgang schließlich geladen werden. |
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, dessen Fortschritt protokolliert wird. |
Beispiel ( Verwendung dieses Beispiels )
progress
gezeigt. Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft von downloadURL.url
so, dass sie auf eine tatsächliche Domäne und Datei anstatt auf die fiktive URL http://www.[yourDomain].com/SomeFile.pdf verweist. Außerdem müssen Sie 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.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_progress extends Sprite { private var downloadURL:URLRequest; private var fileName:String = "SomeFile.pdf"; private var file:FileReference; public function FileReference_event_progress() { downloadURL = new URLRequest(); downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf"; file = new FileReference(); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.download(downloadURL, fileName); } 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 ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } } }
Verwandte API-Elemente
securityError | Ereignis |
flash.events.SecurityErrorEvent
Eigenschaft SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Wird ausgelöst, wenn mit einem Aufruf der Methode FileReference.upload()
oder FileReference.download()
versucht wird, eine Datei auf einen Server zu laden oder von einem Server herunterzuladen, der sich außerhalb der Sicherheitssandbox des Aufrufers befindet. Der Wert der Texteigenschaft zur Beschreibung des aufgetretenen Fehlers ist in der Regel "securitySandboxError"
. Mit der aufrufenden SWF-Datei wurde unter Umständen versucht, ohne entsprechende Berechtigung auf eine SWF-Datei außerhalb ihrer Domäne zuzugreifen. Sie können versuchen, diesen Fehler zu beheben, indem Sie eine URL-Richtliniendatei verwenden.
In Adobe AIR gelten diese Sicherheitseinschränkungen nicht für Inhalt in der Sicherheitssandbox der Anwendung.
In Adobe AIR gelten diese Sicherheitseinschränkungen nicht für Inhalt in der Sicherheitssandbox der Anwendung.
Die KonstanteSecurityErrorEvent.SECURITY_ERROR
definiert den Wert der type
-Eigenschaft eines securityError
-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 Netzwerkobjekt, das den Sicherheitsfehler ausgibt. |
text | Der als Fehlermeldung anzuzeigende Text. |
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 Datei für einen Upload- oder Download-Vorgang auswählt. (Dieses Dialogfeld wird beim Aufruf der Methode FileReferenceList.browse()
, FileReference.browse()
oder FileReference.download()
geöffnet.) Sobald ein Benutzer eine Datei auswählt und den Vorgang bestätigt (z. B. durch Klicken auf „OK“), werden die Eigenschaftenfelder des FileReference-Objekts mit Daten gefüllt.
Bei Inhalt, der in Flash Player oderaußerhalb der Sicherheitssandbox der Anwendung in der Adobe AIR-Laufzeitumgebung ausgeführt wird, verhält sich das select
-Ereignis je nachdem, welche Methode es aufgerufen hat, leicht unterschiedlich. Wenn das Ereignis select
nach einem browse()
-Aufruf ausgelöst wird, können sämtliche Eigenschaften des FileReference-Objekts von Flash Player oder der AIR-Anwendung gelesen werden, da sich die vom Benutzer ausgewählte Datei im lokalen Dateisystem befindet. Wenn das Ereignis select
nach einem download()
-Aufruf ausgelöst wird, kann Flash Player oder die AIR-Anwendung lediglich die name
-Eigenschaft lesen, da die Datei zu dem Zeitpunkt der Auslösung des select
-Ereignisses noch nicht in das lokale Dateisystem heruntergeladen wurde. Nachdem die Datei heruntergeladen und das complete
-Ereignis ausgelöst wurde, können alle anderen Eigenschaften des FileReference-Objekts von Flash Player oder der AIR-Anwendung gelesen werden.
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. |
Beispiel ( Verwendung dieses Beispiels )
select
gezeigt. Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft von uploadURL.url
so, dass sie auf eine tatsächliche Domäne und Datei anstatt auf die fiktive Datei http://www.[IhreDomäne].com/SomeFile.pdf verweist. Außerdem müssen Sie 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. Damit Sie dieses Beispiel über Ihren Desktop ausführen können, müssen Sie auf dem Server eine crossdomain.xml-Datei ablegen. Wenn die Funktion ioErrorHandler()
ausgelöst wird, müssen Sie die bereitgestellte uploadURL
ggf. durch eine gültige URL ersetzen, die für den Empfang von Uploads konfiguriert ist.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileReference; import flash.net.URLRequest; public class FileReference_event_select extends Sprite { private var uploadURL:URLRequest; private var file:FileReference; public function FileReference_event_select() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; file = new FileReference(); file.addEventListener(Event.SELECT, selectHandler); file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); file.addEventListener(ProgressEvent.PROGRESS, progressHandler); file.addEventListener(Event.COMPLETE, completeHandler); file.browse(); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } 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 { trace("completeHandler: " + event); } } }
uploadCompleteData | Ereignis |
flash.events.DataEvent
Eigenschaft DataEvent.type =
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9.0.28.0 |
Wird ausgelöst, nachdem die Daten vom Server nach einem erfolgreichen Upload empfangen wurden. Das Ereignis wird nur ausgelöst, wenn Daten vom Server zurückgegeben werden.
Definiert den Wert der Eigenschafttype
eines uploadCompleteData
-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. |
data | Die unformatierten Daten, die nach einem erfolgreichen Datei-Upload vom Server zurückgegeben werden. |
target | Das FileReference-Objekt, das nach einem erfolgreichen Upload Daten empfängt. |
Hinweis: Ändern Sie zur Ausführung dieses Beispiels die Eigenschaft „uploadURL.url“ so, dass sie auf eine tatsächliche URL verweist. Die URL muss auf eine Datei mit dem Namen yourUploadHandlerScript.cfm
im Stammverzeichnis des Webservers der angegebenen URL verweisen. Abhängig von der Konfiguration 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.
package { import flash.display.Sprite; import flash.events.*; import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; public class FileReferenceExample extends Sprite { private var uploadURL:URLRequest; private var file:FileReference; public function FileReferenceExample() { uploadURL = new URLRequest(); uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm"; file = new FileReference(); configureListeners(file); file.browse(getTypes()); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.CANCEL, cancelHandler); dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); dispatcher.addEventListener(Event.SELECT, selectHandler); dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler); } private function getTypes():Array { var allTypes:Array = new Array(getImageTypeFilter(), 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 cancelHandler(event:Event):void { trace("cancelHandler: " + event); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function uploadCompleteDataHandler(event:DataEvent):void { trace("uploadCompleteData: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } 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 securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function selectHandler(event:Event):void { var file:FileReference = FileReference(event.target); trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url); file.upload(uploadURL); } } }
Tue Jun 12 2018, 10:04 AM Z