Вопрос

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

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

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

Это было полезно?

Решение 2

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

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

Другие советы

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

например:

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

Это первый выпуск платформы FluorineFx Aperture framework.

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

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

Характеристики

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

http://aperture .fluorinefx.com/

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

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

Для меня это:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top