air.desktopURLFilePromise Die URLFilePromise-Klasse ermöglicht, dass Ressourcen, die über eine URL zugänglich sind, als Dateizusage aus einer AIR-Anwendung gezogen werden können.flash.desktop:IFilePromiseflash.events:EventDispatcher Die URLFilePromise-Klasse ermöglicht, dass Ressourcen, die über eine URL zugänglich sind, als Dateizusage aus einer AIR-Anwendung gezogen werden können.

Die URLFilePromise-Klasse implementiert die IFilePromise-Schnittstelle unter Verwendung von URLStream- und URLRequest-Objekten als Datenquelle. Die Implementierung bietet Drag-and-Drop-Unterstützung für Dateien, die mithilfe von HTTP oder anderen von der URLStream-Klasse unterstützten Protokollen abgerufen werden.

So erstellen Sie eine URL-Dateizusage:

  1. Konstruieren und initialisieren Sie ein oder mehrere URLFilePromise-Objekte.
  2. Fügen Sie die URLFilePromise-Objekte einem Array hinzu.
  3. Fügen Sie das Array einem neuen Clipboard-Objekt hinzu, indem Sie ClipboardFormat, FILE_PROMISE_LIST verwenden.
  4. Rufen Sie als Antwort auf eine Benutzergeste die startDrag()-Methode von NativeDragManager auf, wobei Sie das Clipboard-Objekt übergeben, das das Array von Dateizusagen enthält.

Wenn der Benutzer den Ziehen-Vorgang abschließt, lädt die Laufzeitumgebung die Daten für jede Dateizusage herunter. Die Daten werden an der von der request-Eigenschaft des URLFilePromise-Objekts angebebenen URL aufgerufen und in der von der relativePath-Eigenschaft angegebenen Datei gespeichert. Die Datei wird relativ zu ihrer Ablageposition gespeichert. Wenn der relative Pfad foo/bar.txt ist und die Dateizusage in einem Verzeichnis namens home abgelegt wird, ist der Speicherort der erstellten Datei demzufolge: home/foo/bar.txt. Wenn ein Fehler auftritt, wird die Datei nicht erstellt.

Um Datenquellen zu unterstützen, auf die nicht über die URLStream-Klasse zugegriffen werden kann, implementieren Sie die IFilePromise-Schnittstelle.

Hinweis: Die AIR-Laufzeitumgebung ruft die IFilePromise-Methoden open(), close() und reportError() automatisch auf. Diese Methoden sollten niemals von Ihrer Anwendungslogik aufgerufen werden. In ähnlicher Weise werden die Ereignisse open, progress, complete und close, die von diesem URLFilePromise-Objekt abgesetzt werden, hauptsächlich für Debugging-Zwecke bereitgestellt. Ihre Anwendung braucht nicht auf diese Ereignisse zu reagieren.

Diese Klasse ist in der Datei „aircore.swc“ enthalten. Adobe® Flash® Builder lädt diese Klasse automatisch, wenn Sie ein Projekt für Adobe ® AIR erstellen. Das Adobe® Flex SDK enthält ebenfalls die Datei „aircore.swc“, die Sie beim Kompilieren der Anwendung einschließen sollten, wenn Sie das Flex SDK verwenden.

So verwenden Sie das air.desktop-Paket in Adobe® Flash® Professional (CS4 oder höher):

  1. Wählen Sie „Datei“ > „Einstellungen für Veröffentlichungen“.
  2. Klicken Sie im Flash-Bedienfeld auf die Schaltfläche „Einstellungen“ für ActionScript 3.0. Wählen Sie „Bibliothekspfad“.
  3. Klicken Sie auf die Schaltfläche „Zur SWC-Datei navigieren“. Navigieren Sie zur Datei „Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc“ im Adobe Flash Professional-Installationsordner.
  4. Klicken Sie auf „OK“.
  5. Fügen Sie dem ActionScript 3.0-Code folgende import-Anweisung hinzu: import air.desktop.~~;
IFilePromise-SchnittstelleClipboard-KlasseClipboardFormats-KlasseNativeDragManager-KlasseURLStream-KlasseURLRequest-KlassesecurityError Wird ausgelöst, wenn ein Sicherheitsfehler den Dateidownload verhindert.flash.events.SecurityErrorEvent.SECURITY_ERRORflash.events.SecurityErrorEvent Wird ausgelöst, wenn ein Sicherheitsfehler den Dateidownload verhindert. httpStatus Wird für HTTP-Anforderungen ausgelöst, um den Anforderungsstatuscode zu melden.flash.events.HTTPStatusEvent.HTTP_STATUSflash.events.HTTPStatusEvent Wird für HTTP-Anforderungen ausgelöst, um den Anforderungsstatuscode zu melden. httpResponseStatus Wird für HTTP-Anforderungen ausgelöst, um die Antwort-Header zu melden.flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUSflash.events.HTTPStatusEvent Wird für HTTP-Anforderungen ausgelöst, um die Antwort-Header zu melden. ioError Wird abgesetzt, wenn ein IOError den Dateidownload verhindert.flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent Wird abgesetzt, wenn ein IOError den Dateidownload verhindert. progress Wird ausgelöst, wenn ein Datenblock zum Lesen aus dem zugrundeliegenden URLStream verfügbar ist.flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent Wird ausgelöst, wenn ein Datenblock zum Lesen aus dem zugrundeliegenden URLStream verfügbar ist.

Hinweis: Die AIR-Laufzeitumgebung verwendet dieses Ereignis, um den asynchronen Datenabruf zu verwalten. Normalerweise besteht für Ihre Anwendung keinerlei Notwendigkeit, als Reaktion auf dieses Ereignis Aktionen auszuführen.

complete Wird ausgelöst, wenn die Daten für die Datei vollständig heruntergeladen wurden.flash.events.Event.COMPLETEflash.events.Event Wird ausgelöst, wenn die Daten für die Datei vollständig heruntergeladen wurden.

Hinweis: Die AIR-Laufzeitumgebung verwendet dieses Ereignis, um den asynchronen Datenabruf zu verwalten. Normalerweise besteht für Ihre Anwendung keinerlei Notwendigkeit, als Reaktion auf dieses Ereignis Aktionen auszuführen.

open Wird ausgelöst, wenn die zugrundeliegende URLStream-Verbindung geöffnet wird.flash.events.Event.OPENflash.events.Event Wird ausgelöst, wenn die zugrundeliegende URLStream-Verbindung geöffnet wird.

Hinweis: Die AIR-Laufzeitumgebung verwendet dieses Ereignis, um den asynchronen Datenabruf zu verwalten. Normalerweise besteht für Ihre Anwendung keinerlei Notwendigkeit, als Reaktion auf dieses Ereignis Aktionen auszuführen.

URLFilePromise Erstellt ein URLFilePromise-Objekt. Erstellt ein URLFilePromise-Objekt.

Sie müssen die request- und relativePath-Eigenschaft festlegen, bevor Sie dieses URLFilePromise-Objekt verwenden.

close Lässt zu, dass die AIR-Laufzeitumgebung die Datenquelle zur richtigen Zeit während des Drag-and-Drop-Vorgangs schließt. Lässt zu, dass die AIR-Laufzeitumgebung die Datenquelle zur richtigen Zeit während des Drag-and-Drop-Vorgangs schließt.

Rufen Sie diese Funktion nicht in Ihrer Anwendungslogik aus.

open Lässt zu, dass die AIR-Laufzeitumgebung die Datenquelle zur richtigen Zeit während des Drag-and-Drop-Vorgangs öffnet.flash.utils:IDataInput Lässt zu, dass die AIR-Laufzeitumgebung die Datenquelle zur richtigen Zeit während des Drag-and-Drop-Vorgangs öffnet.

Rufen Sie diese Funktion nicht in Ihrer Anwendungslogik aus.

reportError Lässt zu, dass die AIR-Laufzeitumgebung Fehler meldet, die während des Drag-and-Drop-Vorgangs auftreten.eflash.events:ErrorEvent Lässt zu, dass die AIR-Laufzeitumgebung Fehler meldet, die während des Drag-and-Drop-Vorgangs auftreten.

Das URLFilePromise-Objekt setzt alle gemeldeten Fehlerereignisse erneut ab. Rufen Sie diese Funktion nicht in Ihrer Anwendungslogik aus.

isAsync Gibt an, ob die Ressourcendaten asynchron verfügbar sind.Boolean Gibt an, ob die Ressourcendaten asynchron verfügbar sind.

Die isAsync-Eigenschaft eines URLFilePromise-Objekts ist immer true, da URL-Streams naturgemäß asynchron sind.

relativePath Der Pfad und der Dateiname der erstellten Datei relativ zur Ablegeposition. String Der Pfad und der Dateiname der erstellten Datei relativ zur Ablegeposition.

Der Pfad kann Unterverzeichnisse enthalten, die basierend auf dem Ablegeziel aufgelöst werden. Die Unterverzeichnisse werden erstellt, falls erforderlich. Wenn Unterverzeichnisse einbezogen werden, verwenden Sie die File.separator-Konstante, um das richtige Pfadtrennzeichen für das aktuelle Betriebssystem einzufügen. Die Verwendung der Kurzform .., um zu einem übergeordneten Verzeichnis zu navigieren, ist nicht zulässig.

Der Dateiname muss nicht mit dem Dateinamen der Remoteressource identisch sein.

request Der URLRequest, der die Ressource identifiziert, die als Ergebnis des Drag-and-Drop-Vorgangs kopiert werden soll.flash.net:URLRequest Der URLRequest, der die Ressource identifiziert, die als Ergebnis des Drag-and-Drop-Vorgangs kopiert werden soll.