Laden Sie eine Datei, die mit Adobe AIR
Wie lade ich eine Datei aus dem internet in einer Flex-basierten AIR-Anwendung.
Ich versucht, mit einer Datei mit dem url-Satz an die Adresse, aber ich bekam eine Datei nicht vorhanden-Fehler, wenn ich versuchte, es zu speichern. Und es ist wirklich hart, um mit google nach Hilfe auf dieses Problem.
InformationsquelleAutor der Frage AlexH | 2008-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie wollen, wählen Sie aus 2 api-combos zu erreichen.
Version 1 ist URLLoader-und FileStream -
Mit dieser Kombination aus Klasse, würde Sie laden Sie die Datei von Ihrem server in der Luft über das URLLoader-Objekt. Dieser lädt die Datei in den Speicher, und benachrichtigt Sie, wenn der download abgeschlossen ist. Stellen Sie sicher, initiieren Sie den download mit einem dataFormat der URLLoaderDataFormat.BINÄREN. Sie würden dann einleiten, ein Filestream-Objekt und schreiben Sie es auf die Diskette mit writeBytes().
Version 2 ist URLStream-und FileStream -
URLStream ist sehr ähnlich zu URLLoader, aber anstatt zu warten, bis die Datei vollständig herunterladen, bevor Sie verwenden das Ergebnis, die Daten zur Verfügung gestellt, die Sie während des downloads. Diese Methode eignet sich gut für große Dateien, da Sie nicht warten müssen, für den vollständigen download zu starten, speichern auf der Festplatte, und speichern Sie auch auf Speicher, da sobald der Spieler die Hände aus, um Sie es freigeben können, die im Zusammenhang mit dem Arbeitsspeicher auf die Daten. Verwenden Sie die filestream-in genau der gleichen Weise, Sie würden nur tun Ende einer writeBytes() für jeden Block der Datei-streams.
InformationsquelleAutor der Antwort seanalltogether
Ich verwendet seanalltogether Antwort, und schrieb diese Klasse zu behandeln-Datei herunterladen.
Ist es ziemlich einfach. erstellen Sie eine
var downloader = new FileDownloader("url", "Local/Path");
- und call -downloader.load()
um den Download zu starten.Es unterstützt auch die Einstellung einer Funktion, die aufgerufen werden, wenn Sie fertig, und an den Punkten während des Herunterladens. Vorbei das onProgress-Funktion die Anzahl der bytes, die heruntergeladen wurden. ( Ich konnte nicht herausfinden, wie man eine Fraktion, da konnte ich nicht herausfinden, wie die Abfrage der Größe der Datei vor es heruntergeladen wurde)
InformationsquelleAutor der Antwort AlexH
Bauen auf seanalltogether die zweite Idee, hier ist eine Funktion, die sollte download einer Datei aus dem internet und speichern Sie es auf der Festplatte (in der Datei mit dem angegebenen Namen auf dem desktop):
Hinweis: Diese Lösung verwendet Prototype und AIRAliases.js.
InformationsquelleAutor der Antwort pkaeding
Check-out die
flash.net.URLRequest
Klasse, die Ihnen helfen, um die Datei herunterzuladen.InformationsquelleAutor der Antwort Swaroop C H
Bitte überprüfen Sie auch die URLLoader-Klasse für das herunterladen von Dateien. Ein ausgezeichnetes Beispiel ist hier: http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html
Dies klappte sehr schnell für mich, im Vergleich zu der URLStream-Klasse war unter Alter, und eine Menge der CPU-Dateien herunterladen.
InformationsquelleAutor der Antwort Nikhil