Я хочу иметь возможность загружать локальные SWF-файлы в настольном приложении AIR. Файлы SWF расположены вне самого приложения на жестком диске пользователя.Загрузить локальный SWF в AIR
код я использую следующим образом:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
loader.load(new URLRequest("/Users/Oliver/Documents/sample.swf"));
Файл существует. Я могу проверить свое существование с помощью следующих в Unix:
$ ls /Users/Oliver/Documents/sample.swf
Однако применение бросает ошибку:
Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
Если я пытаюсь загрузить тот же файл с веб-адресом (например, http://127.0.0.1/sample.swf
), нагрузка становится успешной.
Я понял, что AIR может загружать как локальные, так и удаленные файлы. Разве это не так? Как ни странно, в другом месте моего приложения я читаю, записываю и удаляю произвольные файлы из локальной файловой системы без проблем. Но я не могу их загрузить?
Это трюк! Благодаря! Похоже, загрузчик должен использовать схему файла: // URI (или http: // для удаленных файлов). Я отредактировал ваш код, поскольку в нем была небольшая ошибка. –
Вам нужно установить f = f.resolvePath ("sample.swf"); – francis
Жесткое кодирование учетной записи пользователя Oliver заставит это приложение работать только на вашем компьютере – francis