Предварительный образ файла представляет собой формат буфера перетаскивания, который дает пользователю возможность перетащить пока не существующий файл за пределы программы 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
).