Ich möchte in der Lage sein, lokale SWF-Dateien in einer AIR-Desktopanwendung zu laden. Die SWF-Dateien befinden sich außerhalb der Anwendung selbst auf der Festplatte des Benutzers.Lokale SWF-Datei in AIR laden
Der Code Ich verwende ist wie folgt:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
loader.load(new URLRequest("/Users/Oliver/Documents/sample.swf"));
Die Datei existiert. Ich kann seine Existenz unter Verwendung der folgenden in Unix testen:
$ ls /Users/Oliver/Documents/sample.swf
jedoch die Anwendung wirft den Fehler:
Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
Wenn ich die gleiche Datei von einem Web-Speicherort zu laden versuchen, (zB http://127.0.0.1/sample.swf
), ist die Ladung erfolgreich.
Ich verstand, dass AIR sowohl lokale als auch Remote-Dateien laden konnte. Ist das nicht der Fall? Ironischerweise lese, schreibe und lösche ich an anderer Stelle in meiner Anwendung beliebige Dateien aus dem lokalen Dateisystem ohne Probleme. Aber ich kann sie nicht laden?
Das ist der Trick! Vielen Dank! Es scheint, dass der Loader das Schema file: // URI (oder http: // für Remote-Dateien) verwenden muss. Ich habe Ihren Code bearbeitet, da er einen kleinen Fehler enthielt. –
Whoops müssen Sie setzen f = f.resolvePath ("sample.swf"); – francis
Durch die starke Verschlüsselung des Benutzerkontos Oliver wird diese Anwendung nur auf Ihrem Computer funktionieren – francis