Открыть локальный файл с помощью AIR / Flex

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

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

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

5 ответов


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

например:

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

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

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

Это первый выпуск рамки диафрагмы FluorineFx.

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

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

особенности

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

http://aperture.fluorinefx.com/


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

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


для меня это:

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

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