Ответ 1
Только так я мог бы выяснить, как это сделать, не перемещая файл и не сообщая пользователю, чтобы он передал его браузеру.
navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName));
Я написал приложение AIR, которое загружает видео и документы с сервера. Видеоролики воспроизводятся внутри приложения, но я хотел бы, чтобы пользователь мог открыть документы в своих собственных приложениях.
Я ищу способ предложить пользователю Открыть/Сохранить как на локальном файле, хранящемся в Каталоге хранения приложений. Я попытался использовать классы FileReference + URLRequest, но это порождает исключение, которое требует удаленного URL.
Мой последний способ - просто скопировать файл на рабочий стол:\
Только так я мог бы выяснить, как это сделать, не перемещая файл и не сообщая пользователю, чтобы он передал его браузеру.
navigateToURL(new URLRequest(File.applicationStorageDirectory.nativePath + "/courses/" + fileName));
Вы можете использовать новую функцию openWithDefaultApplication();
, доступную в классе File (я считаю, что она доступна только в AIR 2)
например:
var file:File = File.desktopDirectory.resolvePath(fileLocation);
file.openWithDefaultApplication();
Это первый выпуск флюоресцентной рамки FluorineFx.
В рамках этой платформы предусмотрена поддержка встроенной ОС (только для Windows) для настольных приложений AIR.
Структура расширяет приложения Adobe AIR неинтрузивным способом: просто перераспределите предоставленные библиотеки с вашим приложением AIR, во время выполнения фреймворк автоматически подключится к вашему приложению.
Функции
В настоящее время 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()
.