Domanda

Ho scritto un'applicazione AIR che scarica video e documenti da un server.I video vengono riprodotti all'interno dell'applicazione, ma vorrei che l'utente potesse aprire i documenti nelle proprie applicazioni native.

Sto cercando un modo per chiedere all'utente di aprire/salvare con nome su un file locale archiviato nella directory di archiviazione dell'applicazione.Ho provato a utilizzare le classi FileReference + URLRequest ma questo genera un'eccezione secondo cui è necessario un URL remoto.

La mia ultima risorsa è semplicemente copiare il file sul desktop:\

È stato utile?

Soluzione 2

L'unico modo per capire come farlo senza semplicemente spostare il file e dire all'utente era di trasmetterlo al browser.

navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName));

Altri suggerimenti

Puoi usare il nuovo openWithDefaultApplication(); funzione disponibile nella classe File (credo sia disponibile solo in AIR 2)

per esempio:

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

Questa è la prima versione del framework FluorineFx Aperture.

Il framework fornisce il supporto dell'integrazione nativa del sistema operativo (solo Windows) per le applicazioni desktop AIR.

Il framework estende le applicazioni Adobe AIR in modo non intrusivo:ridistribuisci semplicemente le librerie fornite con la tua applicazione AIR, in fase di runtime il framework si collegherà automaticamente alla tua applicazione.

Caratteristiche

  • Avvia applicazioni e documenti nativi con la libreria apsystem fornita
  • Acquisisci screenshot dell'intero schermo con la libreria apiaging fornita
  • Accedi ai contatti di Outlook da un'applicazione Air con la libreria apoutlook fornita

http://aperture.fluorinefx.com/

Attualmente Adobe non supporta l'apertura di file nelle applicazioni predefinite.Passarlo al browser sembra essere l'unico modo per farlo funzionare.

Potresti tuttavia utilizzare un FileStream e scrivere un piccolo file html con alcuni javascript che imposta la posizione di un iframe sul file, quindi dopo circa 100 ms chiama window.close().Quindi apri quel file nel browser.

Per me è:

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

IL navigateToURL(file.nativePath) non ha funzionato poiché il percorso "/users/mydirectory/..." era esterno a sandbox dell'applicazione.AIR consente solo l'apertura di alcuni protocolli navigateToURL().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top