air.desktopURLFilePromise Класс URLFilePromise позволяет перетаскивать ресурсы, доступные по URL-адресу, из программы AIR в качестве предварительного образа файла.flash.desktop:IFilePromiseflash.events:EventDispatcher Класс URLFilePromise позволяет перетаскивать ресурсы, доступные по URL-адресу, из программы AIR в качестве предварительного образа файла.

Класс URLFilePromise реализует интерфейс IFilePromise, использующий объекты URLStream и URLRequest в качестве источника данных. Реализация этого интерфейса обеспечивает поддержку перетаскивания для файлов, которые можно получить через HTTP или другие протоколы, поддерживаемые классом URLStream.

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

  1. Создайте и инициализируйте один или несколько объектов URLFilePromise.
  2. Добавьте объекты URLFilePromise в массив.
  3. Добавьте массив в новый объект Clipboard с помощью экземпляра ClipboardFormat, FILE_PROMISE_LIST.
  4. В ответ на действие пользователя вызовите метод startDrag() экземпляра NativeDragManager, передав при этом объект Clipboard, содержащий массив предварительных образов файлов.

Когда пользователь завершает перетаскивание, среда выполнения загружает данные для каждого предварительного образа файла. Данные загружаются с URL-адреса, указанного в свойстве request объекта URLFilePromise, и сохраняются в файл, указанный в свойстве relativePath. Файл сохраняется относительно того места, куда он помещен в процессе перетаскивания. Таким образом, если относительный путь — foo/bar.txt и предварительный образ файла перетаскиванием перемещен в каталог с именем home, тогда полный путь будет — home/foo/bar.txt. В случае ошибки файл не создается.

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

Примечание. Среда выполнения AIR вызывает автоматически методы IFilePromise: open(), close() и reportError(). Эти методы ни в коем случае нельзя вызывать с помощью логики программы. Подобным образом события open, progress, complete и close отправляются этим объектом URLFilePromise в первую очередь с целью отладки работы. Программа не должна отвечать на эти события.

Этот класс включен в файл aircore.swc. Adobe® Flash Builder загружает этот класс автоматически при создании проекта для Adobe® AIR. Adobe® Flex SDK также включает файл aircore.swc, который необходимо добавлять при компиляции приложения с использованием Flex SDK.

Чтобы использовать пакет air.desktop в Adobe® Flash® Professional (CS4 и более поздних версий), выполните следующие действия.

  1. Выберите меню «Файл» > «Параметры публикации».
  2. В панели Flash нажмите кнопку «Параметры» для ActionScript 3.0. Выберите «Путь к библиотеке».
  3. Нажмите кнопку «Перейти к файлу SWC». Найдите файл Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc в папке установки Adobe Flash Professional.
  4. Нажмите кнопку «ОК».
  5. Вставьте следующую инструкцию import в код ActionScript 3.0: import air.desktop.~~;
Интерфейс IFilePromiseКласс ClipboardКласс ClipboardFormatsКласс NativeDragManagerКласс URLStreamКласс URLRequestsecurityError Отправляется, когда ошибка безопасности препятствует загрузке файла.flash.events.SecurityErrorEvent.SECURITY_ERRORflash.events.SecurityErrorEvent Отправляется, когда ошибка безопасности препятствует загрузке файла. httpStatus Отправляется для запросов HTTP с целью сообщения кода состояния запроса.flash.events.HTTPStatusEvent.HTTP_STATUSflash.events.HTTPStatusEvent Отправляется для запросов HTTP с целью сообщения кода состояния запроса. httpResponseStatus Отправляется для запросов HTTP с целью сообщения заголовков ответа.flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUSflash.events.HTTPStatusEvent Отправляется для запросов HTTP с целью сообщения заголовков ответа. ioError Отправляется, когда объект IOError препятствует загрузке файла.flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent Отправляется, когда объект IOError препятствует загрузке файла. progress Отправляется, когда блок данных доступен для чтения из основного экземпляра URLStream.flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent Отправляется, когда блок данных доступен для чтения из основного экземпляра URLStream.

Примечание. Среда выполнения AIR использует это событие, чтобы управлять асинхронным процессом получения данных. Как правило, программе нет необходимости предпринимать действия в ответ на это событие.

complete Отправляется после завершения загрузки данных файла.flash.events.Event.COMPLETEflash.events.Event Отправляется после завершения загрузки данных файла.

Примечание. Среда выполнения AIR использует это событие, чтобы управлять асинхронным процессом получения данных. Как правило, программе нет необходимости предпринимать действия в ответ на это событие.

open Отправляется после открытия подключения для основного объекта URLStream.flash.events.Event.OPENflash.events.Event Отправляется после открытия подключения для основного объекта URLStream.

Примечание. Среда выполнения AIR использует это событие, чтобы управлять асинхронным процессом получения данных. Как правило, программе нет необходимости предпринимать действия в ответ на это событие.

URLFilePromise Создает объект URLFilePromise. Создает объект URLFilePromise.

Прежде чем использовать этот объект URLFilePromise, необходимо задать свойства request и relativePath.

close Позволяет среде выполнения AIR вовремя закрыть источник данных в ходе операции перетаскивания. Позволяет среде выполнения AIR вовремя закрыть источник данных в ходе операции перетаскивания.

Не вызывайте эту функцию в логике программы.

open Позволяет среде выполнения AIR вовремя открыть источник данных в ходе операции перетаскивания.flash.utils:IDataInput Позволяет среде выполнения AIR вовремя открыть источник данных в ходе операции перетаскивания.

Не вызывайте эту функцию в логике программы.

reportError Позволяет среде выполнения AIR сообщать об ошибках в ходе операции перетаскивания.eflash.events:ErrorEvent Позволяет среде выполнения AIR сообщать об ошибках в ходе операции перетаскивания.

Объект URLFilePromise повторно отправляет любые события ошибки. Не вызывайте эту функцию в логике программы.

isAsync Указывает, доступны ли данные ресурса в асинхронном режиме.Boolean Указывает, доступны ли данные ресурса в асинхронном режиме.

Свойство isAsync объекта URLFilePrmise всегда имеет значение true, так как потоки URL являются асинхронными по определению.

relativePath Путь и имя созданного файла относительно места назначения перетаскивания.String Путь и имя созданного файла относительно места назначения перетаскивания.

Путь может включать подкаталоги, разрешение которых выполняется относительно местоположения перетаскивания. При необходимости создаются подкаталоги. При включении подкаталогов следует использовать константу File.separator, чтобы вставить символ-разделитель, который используется для указания пути в текущей операционной системе. Указание .. в качестве комбинации клавиш для перехода к родительскому каталогу не поддерживается.

Имя файла может не соответствовать имени файла удаленного ресурса.

request Объект URLRequest, указывающий ресурс, который должен быть скопирован в результате операции перетаскивания.flash.net:URLRequest Объект URLRequest, указывающий ресурс, который должен быть скопирован в результате операции перетаскивания.