2008-08-07 18 views
11

Ich habe eine AIR-Anwendung geschrieben, die Videos und Dokumente von einem Server herunterlädt. Die Videos werden innerhalb der Anwendung abgespielt, aber ich möchte, dass der Benutzer die Dokumente in ihren nativen Anwendungen öffnen kann.Lokale Datei mit AIR/Flex öffnen

Ich bin auf der Suche nach einer Möglichkeit, den Benutzer auf Open/Save As in einer lokalen Datei im Application Storage Directory gespeichert. Ich habe versucht, die FileReference + URLRequest-Klassen zu verwenden, aber das löst eine Ausnahme aus, die eine Remote-URL benötigt.

Meine letzte Instanz ist das Kopieren Sie einfach die Datei auf ihren Desktop: \

Antwort

2

Nur so konnte ich herausfinden, wie es zu tun, ohne nur die Datei zu bewegen und der Benutzer erklärt, war es an den Browser abgehen.

0

Momentan unterstützt Adobe nicht das Öffnen von Dateien in Standardanwendungen. Es scheint die einzige Möglichkeit zu sein, es an den Browser zu übergeben.

Sie könnten jedoch einen FileStream verwenden und eine kleine HTML-Datei mit etwas Javascript schreiben, die den Ort eines iFrame auf die Datei setzt und dann nach 100ms window.close() aufruft. Öffnen Sie dann diese Datei im Browser.

2

Dies ist die erste Version des FluorineFx Aperture-Frameworks.

Das Framework bietet native OS-Integration (nur Windows) für AIR-Desktop-Anwendungen.

Das Framework erweitert Adobe AIR-Anwendungen auf nicht-intrusive Weise: einfach die bereitgestellten Bibliotheken mit Ihrer AIR-Anwendung neu verteilen, zur Laufzeit wird das Framework automatisch in Ihre Anwendung eingebunden.

Eigenschaften

  • Einführung native Anwendungen und Dokumente mit der mitgelieferten APsystem Bibliothek
  • Screenshots des gesamten Bildschirms Nehmen Sie mit der mitgelieferten apimaging Bibliothek
  • Zugriff von Outlook-Kontakte aus einer AIR-Anwendung mit dem mitgelieferten apoutlook-Bibliothek

http://aperture.fluorinefx.com/

12

Sie haben die neue openWithDefaultApplication(); Funktion verwenden können, die auf der File-Klasse verfügbar ist

zB (I in AIR 2 ist es nur glauben):

var file:File = File.desktopDirectory.resolvePath(fileLocation); 
file.openWithDefaultApplication(); 
0

Für mich ist es:

var request:URLRequest = new URLRequest(); 
request.url = file.url; 
navigateToURL(request, "_blank"); 

Die navigateToURL(file.nativePath) funktionierte nicht, da der Pfad "/ users/mydirectory/..." außerhalb der application sandbox lag. Mit AIR können nur einige Protokolle mit geöffnet werden.