Использование классов URLLoader и URLRequest




Тема 12.12. Загрузка данных с URL-адреса

ActionScript 3.0 предусматривает механизмы для загрузки данных из внешних источников. Эти источники могут представлять собой статическое содержимое, например текстовые файлы, или динамическое содержимое, например веб-сценарий, получающий данные из базы данных. Данные могут иметь самый разный формат, и ActionScript предоставляет функции для декодирования и получения данных. Кроме того, можно отправлять данные на внешний сервер в рамках процесса извлечения данных.

О классах URLLoader и URLRequest

Есть различные способы загрузить данные в фильм из внешних файлов типа SWF-файла или Web-узла. Обычный путь состоит в том, чтобы использовать классы URLRequest и URLLoader.

Класс URLLoader загружает данные с URL-адреса в виде текста, двоичных данных или переменных в кодировке URL. Данная функция целесообразна при загрузке текстовых файлов, XML-объектов или других сведений, которые будут использованы в динамическом приложении по обработке данных.

Объект URLLoader загружает все данные с URL-адреса, прежде чем сделать их доступными для кода в приложениях. Он отправляет оповещения о состоянии загрузки, которые можно отслеживать с помощью свойств bytesLoaded и bytesTotal, а также посредством отправленных событий.

При загрузке очень больших видеофайлов, таких как FLV, могут возникнуть ошибки из-за нехватки памяти.

При использовании данного класса в содержимом проигрывателяFlash Player и приложения AIR, размещенном в изолированных программных средах безопасности, отличных от среды безопасности приложения, необходимо учитывать следующую модель безопасности:

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

· По умолчанию вызывающий SWF-файл и загружаемый URL-адрес должны находиться в одном и том же домене. Например, SWF-файл на www.adobe.com может загружать данные только из источников, которые также размещены на сайте www.adobe.com. Чтобы загрузить данные с другого домена, разместите файл политик URL-адресов на сервере, где расположены эти данные.

Класс URLRequest фиксирует все сведения в одном запросе HTTP. Объекты URLRequest передаются методам load() классов Loader, URLStream и URLLoader, а также другим операциям загрузки для инициации загрузок URL. Кроме того, они передаются методам upload() и download() класса FileReference.

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

По умолчанию вызывающий SWF-файл и загружаемый URL-адрес должны находиться в одном домене. Например, SWF-файл на www.adobe.com может загружать данные только из источников, которые также размещены на сайте www.adobe.com. Чтобы загрузить данные с другого домена, разместите файл политик для URL на сервере, где расположены эти данные.

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

· http и https

· file

· app-storage

· app

К содержимому в Adobe AIR, то есть за пределами изолированной программной среды безопасности приложения, применяются те же ограничения, что и к содержимому в обозревателе (в Flash Player), и загрузка управляется доменом содержимого и всем правами доступа, предоставленными в файлах политик для URL.

 

Использование классов URLLoader и URLRequest

Класс URLLoader позволяет отправлять запрос на сервер и получать доступ к возвращенной информации. Класс URLLoader можно также использовать для доступа к файлам в локальной файловой системе в контекстах, в которых доступ к локальным файлам разрешен (например, в локальной изолированной программной среде с файловой системой Flash Player и изолированной программной среде приложения AIR). Класс URLLoader загружает данные с URL-адреса в виде текста, двоичных данных или переменных в кодировке URL. Класс URLLoader отправляет такие события, как complete, httpStatus, ioError, open, progress и securityError.

Модель обработки событий ActionScript 3.0 значительно отличается от модели ActionScript 2.0, в которой использовались обработчики событий LoadVars.onData, LoadVars.onHTTPStatus и LoadVars.onLoad.

Загруженные данные доступны только после завершения загрузки. Можно отслеживать ход выполнения загрузки (количество загруженных байтов и общее количество байтов) путем прослушивания отправляемого события progress. Однако, если файл загружается достаточно быстро, событие progress может не отправляться.При успешной загрузке файла отправляется событие complete. Путем задания свойства dataFormat объекта URLLoader можно получать данные в виде текста, двоичных данных без сжатия или объекта URLVariables.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: