Un fichier promis est un format de Presse-papiers de type glisser-déposer grâce auquel un utilisateur peut faire glisser un fichier qui n’existe pas encore hors d’une application AIR. Par le biais de fichiers promis, une application pourrait, par exemple, autoriser un utilisateur à faire glisser une icône de proxy vers un dossier du bureau. L’icône de proxy représente un fichier ou des données dont la disponibilité est connue à une URL donnée. Lorsque l’utilisateur dépose l’icône, le moteur d’exécution télécharge les données et écrit le fichier à l’emplacement de dépôt.
La classe URLFilePromise d’une application AIR permet de glisser-déposer des fichiers auxquels il est possible d’accéder à partir d’une URL. L’implémentation d’URLFilePromise figure dans la bibliothèque principale d’AIR et fait partie du kit de développement d’AIR 2. Utilisez le fichier aircore.swc ou le fichier aircore.swf qui réside dans le répertoire SDK frameworks/libs/air.
Vous pouvez également implémenter votre propre logique de fichier promis par le biais de l’interface IFilePromise (définie dans le package flash.desktop du moteur d’exécution).
D’un point de vue conceptuel, les fichiers promis sont similaires à un rendu différé qui fait appel à une fonction de gestion des données du Presse-papiers. Utilisez les fichiers promis au lieu d’un rendu différé lorsque vous glissez-déposez des fichiers. La technique de rendu différé entraîne parfois des pauses indésirables du mouvement de glissement lors de la génération ou du téléchargement des données. Faites appel au rendu différé pour les opérations de copie et de collage, qui ne prennent pas en charge les fichiers promis.
Restrictions associées à l’utilisation de fichiers promis
Par rapport aux autres formats de données gérés par un Presse-papiers de type glisser-déposer, les fichiers promis sont soumis aux restrictions suivantes :
-
Si les fichiers promis peuvent être transférés à partir d’une application AIR, il est impossible de les déposer dans une application AIR.
-
Les fichiers promis ne sont pas pris en charge par tous les systèmes d’exploitation. La propriété
Clipboard.supportsFilePromise
permet de vérifier si les fichiers promis sont pris en charge sur le système hôte. Si un système ne prend pas en charge les fichiers promis, il vous incombe de proposer un autre mécanisme de téléchargement ou de génération des données de fichier.
-
Il est impossible d’utiliser les fichiers promis avec le Presse-papiers de type copier et coller (
Clipboard.generalClipboard
).