2008-08-07 25 views
11

He escrito una aplicación de AIR que descarga videos y documentos de un servidor. Los videos se reproducen dentro de la aplicación, pero me gustaría que el usuario pueda abrir los documentos en sus aplicaciones nativas.Abrir archivo local con AIR/Flex

Estoy buscando una manera de pedirle al usuario que abra/guarde como en un archivo local almacenado en el directorio de almacenamiento de aplicaciones. He intentado utilizar las clases FileReference + URLRequest pero arroja una excepción que necesita una URL remota.

Mi último recurso es sólo copiar el archivo en su escritorio: \

Respuesta

2

única manera de encontrar la manera de hacerlo sin apenas mover el archivo e indicando al usuario era de hacerlo pasar al navegador.

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

Actualmente adobe no admite la apertura de archivos en sus aplicaciones predeterminadas. Pasarlo al navegador parece ser la única forma de hacerlo funcionar.

Sin embargo, podría utilizar un FileStream y escribir un pequeño archivo html con algún javascript que establezca la ubicación de un iframe en el archivo, y luego de 100ms o más llama a window.close(). Luego abre ese archivo en el navegador.

2

Esta es la primera versión del marco de Apertura FluorineFx.

El marco proporciona soporte nativo de integración del sistema operativo (solo Windows) para aplicaciones de escritorio AIR.

El marco amplía las aplicaciones de Adobe AIR de una manera no intrusiva: simplemente redistribuya las bibliotecas proporcionadas con su aplicación de AIR, en tiempo de ejecución, el marco se conectará automáticamente a su aplicación.

Características aplicaciones nativas

  • de lanzamiento y documentos con la biblioteca apsystem proporcionado
  • tomar capturas de pantalla de toda la pantalla con la biblioteca apimaging proporcionado
  • contactos acceso a Outlook desde una aplicación de aire con la proporcionada biblioteca de apoutlook

http://aperture.fluorinefx.com/

12

Puede utilizar la nueva función openWithDefaultApplication(); que está disponible en la clase File (creo que sólo está disponible en AIR 2)

por ejemplo:

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

Para mí es:

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

El navigateToURL(file.nativePath) no funcionó ya que la ruta, "/ users/mydirectory/..." estaba fuera del application sandbox. AIR solo permite la apertura de algunos protocolos con navigateToURL().