Перетаскивание предварительных образов файла

Adobe AIR 2 и более поздних версий

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

Благодаря классу URLFilePromise в приложении AIR можно перетащить файлы, которые доступны по URL. Реализация URLFilePromise предоставляется в библиотеке aircore как компонент пакета AIR 2 SDK. Используйте файл aircore.swc или aircore.swf, находящийся в каталоге frameworks/libs/air пакета SDK.

Как вариант можно реализовать собственный алгоритм предоставления файла с использованием интерфейса IFilePromise (который задан в пакете flash.desktop среды выполнения).

Предварительные образы файла, в принципе, похожи на отложенную визуализацию с помощью функции обработки данных в буфере обмена. При перетаскивании файлов используйте предварительные образы файла вместо отложенной визуализации. Метод отложенной визуализации может привести к появлению нежелательных пауз в жесте перетаскивания из-за генерирования или загрузки данных. Используйте отложенную визуализацию во время операций копирования и вставки (где не поддерживаются предварительные образы файла).

Ограничения при использовании предварительных образов файла

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

  • Предварительные образы файла можно перетаскивать только из приложения AIR; в приложение AIR их перетаскивать нельзя.

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

  • Предварительные образы файла нельзя применять в буфере обмена для копирования и вставки ( Clipboard.generalClipboard ).