Eine Dateizusage ist ein Drag-and-Drop-Zwischenablageformat, das es einem Benutzer ermöglicht, eine Datei, die noch nicht vorhanden ist, aus einer AIR-Anwendung zu ziehen. Mithilfe von Dateizusagen ist es in einer Anwendung beispielsweise möglich, ein Proxysymbol in einen Ordner auf dem Desktop zu ziehen. Das Proxysymbol repräsentiert eine Datei oder bestimmte Daten, von denen bekannt ist, dass sie an einer URL zur Verfügung stehen. Nachdem der Anwender das Symbol abgelegt hat, lädt die Laufzeit die Daten herunter und schreibt die Datei an den Ablageort.
Mithilfe der URLFilePromise-Klasse in einer AIR-Anwendung können Dateien, die an einer URL verfügbar sind, per Drag & Drop gezogen und abgelegt werden. Die URLFilePromise-Implementierung steht in der aircore-Bibliothek im Rahmen des AIR 2 SDK zur Verfügung. Verwenden Sie entweder die Datei „aircore.swc“ oder „aircore.swf“ im SDK-Verzeichnis „frameworks/libs/air“.
Stattdessen können Sie auch Ihre eigene Logik für Dateizusagen mit der IFilePromise-Schnittstelle implementieren (diese Schnittstelle ist im flash.desktop-Laufzeitpaket definiert).
Dateizusagen ähneln konzeptuell dem verzögerten Rendering unter Verwendung einer Datenprozedurfunktion in der Zwischenablage. Verwenden Sie beim Ziehen und Ablegen von Dateien Dateizusagen anstelle des verzögerten Rendering. Das verzögerte Rendering kann bei Ziehbewegungen zu unerwünschten Pausen führen, während die Daten generiert oder heruntergeladen werden. Verwenden Sie das verzögerte Rendering zum Kopieren und Einfügen (für diesen Zweck werden Dateizusagen nicht unterstützt).
Einschränkungen bei Verwendung von Dateizusagen
Bei Dateizusagen gelten die folgenden Einschränkungen im Vergleich mit anderen Datenformaten, die per Drag & Drop in die Zwischenablage platziert werden können:
-
Dateizusagen können nur aus einer AIR-Anwendung gezogen werden, nicht jedoch in einer AIR-Anwendung abgelegt werden.
-
Dateizusagen werden nicht unter allen Betriebssystemen unterstützt. Mit der
Clipboard.supportsFilePromise
-Eigenschaft können Sie testen, ob Dateizusagen auf dem Hostsystem unterstützt werden. Auf Systemen, die Dateizusagen nicht unterstützen, sollten Sie einen Alternativmechanismus zum Herunterladen oder Generieren der Dateidaten bereitstellen.
-
Dateizusagen können nicht mit der Zwischenablage für das Kopieren und Einfügen verwendet werden (
Clipboard.generalClipboard
).