Colocación de promesas de archivo

Adobe AIR 2 y posterior

Una promesa de archivo es un formato del portapapeles de arrastrar y colocar que permite al usuario arrastrar un archivo que aún no existe fuera de una aplicación de AIR. Por ejemplo, con el uso de promesas de archivo la aplicación puede permitir al usuario arrastrar un icono proxy a una carpeta de escritorio. El icono proxy representa un archivo o algunos datos que se sabe que están disponibles en una URL. Una vez que el usuario coloca el icono, el motor de ejecución carga los datos y escribe el archivo en la ubicación de destino.

Se puede utilizar la clase URLFilePromise en una aplicación de AIR para arrastrar y colocar archivos a los que se puede acceder en una URL. La implementación de URLFilePromise se proporciona en la biblioteca aircore como parte del AIR 2 SDK. Puede utilizar el archivo aircore.swc o aircore.swf del directorio frameworks/libs/air de SDK.

Otra alternativa es implementar su propia lógica de promesa de archivos con la interfaz IFilePromise (definida en el paquete flash.desktop del motor de ejecución).

Las promesas de archivo son similares en concepto a la representación aplazada utilizando una función de controlador de datos en el portapapeles. Utilice las promesas de archivo en lugar de la representación aplazada al arrastrar y colocar archivos. La técnica de representación aplazada puede dar lugar a pausas no deseadas en la operación de arrastrar cuando se generan o se descargan los datos. Utilice la representación aplazada para las operaciones de copiar y pegar (para las que no se admiten las promesas de archivo).

Limitaciones en el uso de promesas de archivo

Las promesas de archivo presentan las siguientes limitaciones si se comparan con otros formatos de datos que se pueden situar en un portapapeles de arrastrar y colocar:

  • Las promesas de archivo solo se pueden arrastrar desde una aplicación de AIR; no se pueden colocar en una aplicación de AIR.

  • Las promesas de archivo no son compatibles con todos los sistemas operativos. Utilice la propiedad Clipboard.supportsFilePromise para comprobar si las promesas de archivo se admiten en el sistema host. En los sistemas que no admiten promesas de archivo, se debe proporcionar un mecanismo alternativo para descargar o generar los datos de archivo.

  • Las promesas de archivo no se pueden utilizar con el portapapeles de copiar y pegar ( Clipboard.generalClipboard ).