Ouvrir un fichier local avec AIR/Flex

J'ai écrit une application AIR qui télécharge des vidéos et des documents à partir d'un serveur. Les vidéos sont lues à l'intérieur de l'application, mais j'aimerais que l'utilisateur puisse ouvrir les documents dans ses applications natives.

Je cherche un moyen d'inviter l'utilisateur à ouvrir/enregistrer sous sur un fichier local stocké dans le répertoire de stockage des applications. J'ai essayé d'utiliser les classes FileReference URLRequest mais cela génère une exception indiquant qu'il a besoin d'une URL distante.

Mon dernier recours consiste simplement à copier le fichier sur leur bureau :

请先 登录 后评论

2 réponses

Matt MacLean

Adobe ne prend actuellement pas en charge l'ouverture de fichiers dans ses applications par défaut. Le transmettre au navigateur semble être le seul moyen de le faire fonctionner.

Vous pouvez cependant utiliser un FileStream et écrire un petit fichier html avec du javascript qui définit l'emplacement d'un iframe dans le fichier, puis après environ 100 ms appelle window.close(). Ouvrez ensuite ce fichier dans le navigateur.

请先 登录 后评论
Chris

Vous pouvez utiliser la nouvelle fonction openWithDefaultApplication(); qui est disponible sur la classe File (je crois qu'elle n'est disponible que dans AIR 2)

par exemple :

var file:File = File.desktopDirectory.resolvePath(fileLocation);
file.openWithDefaultApplication();
请先 登录 后评论