Открыть локальный файл с помощью AIR / Flex - PullRequest
11 голосов
/ 07 августа 2008

Я написал приложение AIR, которое загружает видео и документы с сервера. Видео воспроизводится внутри приложения, но я бы хотел, чтобы пользователь мог открывать документы в своих собственных приложениях.

Я ищу способ предложить пользователю открыть / сохранить как в локальном файле, хранящемся в каталоге хранилища приложений. Я пытался использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный URL.

Мое последнее средство - просто скопировать файл на рабочий стол: \

Ответы [ 5 ]

13 голосов
/ 13 июля 2010

Вы можете использовать новую функцию openWithDefaultApplication();, которая доступна в классе File (я полагаю, она доступна только в AIR 2)

например:

var file:File = File.desktopDirectory.resolvePath(fileLocation);
file.openWithDefaultApplication();
2 голосов
/ 23 июля 2009

Это первая версия фреймворка FluorineFx Aperture.

Платформа обеспечивает встроенную поддержку ОС (только для Windows) для приложений AIR для настольных компьютеров.

Фреймворк расширяет приложения Adobe AIR ненавязчивым способом: просто перераспределите предоставленные библиотеки с вашим приложением AIR, во время выполнения фреймворк автоматически подключится к вашему приложению.

Особенности

  • Запуск собственных приложений и документов с помощью прилагаемой библиотеки apsystem
  • Сделайте скриншоты всего экрана с предоставленной библиотекой apimaging
  • Доступ к контактам Outlook из приложения Air с помощью библиотеки apoutlook

http://aperture.fluorinefx.com/

2 голосов
/ 08 августа 2008

Единственный способ понять, как это сделать, не перемещая файл и не сказав пользователю, передать его браузеру.

navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName));
0 голосов
/ 26 августа 2015

Для меня это:

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

navigateToURL(file.nativePath) не работал, поскольку путь "/ users / mydirectory / ..." находился вне изолированной программной среды приложения . AIR позволяет открывать только некоторые протоколы с navigateToURL().

0 голосов
/ 14 августа 2008

В настоящее время Adobe не поддерживает открытие файлов в приложениях по умолчанию. Похоже, передача его в браузер - единственный способ заставить его работать.

Однако вы можете использовать FileStream и написать небольшой html-файл с некоторым javascript, который устанавливает местоположение iframe в файле, затем через 100 мс или около того вызывает window.close (). Затем откройте этот файл в браузере.

...