air.desktopURLFilePromise La classe URLFilePromise permet de déplacer les ressources accessibles depuis une adresse URL hors d’une application AIR en tant que fichier promis.flash.desktop:IFilePromiseflash.events:EventDispatcher La classe URLFilePromise permet de déplacer les ressources accessibles depuis une adresse URL hors d’une application AIR en tant que fichier promis.

La classe URLFilePromise implémente l’interface IFilePromise à l’aide des objets URLStream et URLRequest comme source de données. L’implémentation permet le glisser-déposer de fichiers pouvant être récupérés à l’aide du protocole HTTP ou d’autres protocoles pris en charge par la classe URLStream.

Pour créer un fichier promis de type URL :

  1. Créez et initialisez un ou plusieurs objets URLFilePromise.
  2. Ajoutez les objets URLFilePromise à un tableau.
  3. Ajoutez le tableau à un nouvel objet Clipboard à l’aide du format ClipboardFormat FILE_PROMISE_LIST.
  4. En réponse à une action de l’utilisateur, appelez la méthode startDrag() de la classe NativeDragManager en transmettant l’objet Clipboard contenant le tableau de fichiers promis.

Lorsque l’utilisateur termine l’opération de glissement, le moteur d’exécution télécharge les données de chaque fichier promis. Les données sont accessibles à partir de l’URL spécifiée par la propriété request de l’objet URLFilePromise ; il est alors possible de les enregistrer dans le fichier spécifié dans la propriété relativePath. Le fichier est enregistré par rapport à l’emplacement du dépôt. Ainsi, si le chemin relatif est foo/bar.txt et un fichier promis est déposé dans un répertoire appelé home, l’emplacement du fichier créé est : home/foo/bar.txt. Lorsqu’une erreur se produit, le fichier n’est pas créé.

Pour une prise en charge des sources de données qui ne sont pas accessibles par le biais de la classe URLStream, implémentez l’interface IFilePromise.

Remarque : le moteur d’exécution d’AIR appelle automatiquement les méthodes open(), close() et reportError() de l’objet IFilePromise. Ces méthodes ne doivent jamais être appelées par la logique de votre application. De même, les événements open, progress, complete et close distribués par cet objet URLFilePromise sont fournis principalement à des fins de débogage. Il n’est pas nécessaire que votre application réponde à ces événements.

Cette classe est incluse dans le fichier aircore.swc. Adobe® Flash Builder charge cette classe automatiquement lors de la création d’un projet pour Adobe® AIR. Le kit de développement d’Adobe® Flex comprend également le fichier aircore.swc, que vous devez inclure lors de la compilation de l’application.

Pour utiliser le package air.desktop dans Adobe® Flash® Professional (CS4 ou version ultérieure) :

  1. Sélectionnez la commande Fichier > Paramètres de publication.
  2. Dans le panneau Flash, cliquez sur le bouton Paramètres pour ActionScript 3.0, puis sélectionnez Chemin de la bibliothèque.
  3. Cliquez sur le bouton Localiser le fichier SWC. Recherchez le fichier Adobe Flash CSn/AIKn.n/frameworks/libs/air/aircore.swc dans le dossier d’installation d’Adobe Flash Professional.
  4. Cliquez sur le bouton OK.
  5. Ajoutez l’instruction import suivante à votre code ActionScript 3.0 : import air.desktop.~~;
Interface IFilePromiseClasse ClipboardClasse ClipboardFormatsClasse NativeDragManagerClasse URLStreamClasse URLRequestsecurityError Distribué lorsqu’une erreur de sécurité empêche le téléchargement du fichier.flash.events.SecurityErrorEvent.SECURITY_ERRORflash.events.SecurityErrorEvent Distribué lorsqu’une erreur de sécurité empêche le téléchargement du fichier. httpStatus Distribué afin que les requêtes HTTP renvoient le code d’état des requêtes.flash.events.HTTPStatusEvent.HTTP_STATUSflash.events.HTTPStatusEvent Distribué afin que les requêtes HTTP renvoient le code d’état des requêtes. httpResponseStatus Distribué afin que les requêtes HTTP renvoient les en-têtes de réponse.flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUSflash.events.HTTPStatusEvent Distribué afin que les requêtes HTTP renvoient les en-têtes de réponse. ioError Distribué lorsqu’une erreur IOError empêche le téléchargement du fichier.flash.events.IOErrorEvent.IO_ERRORflash.events.IOErrorEvent Distribué lorsqu’une erreur IOError empêche le téléchargement du fichier. progress Distribué lorsque la lecture d’un bloc de données est disponible depuis l’URLStream sous-jacent.flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent Distribué lorsque la lecture d’un bloc de données est disponible depuis l’URLStream sous-jacent.

Remarque : le moteur d’exécution d’AIR a recours à cet événement pour gérer le processus de récupération des données asynchrones. En règle générale, il n’est pas nécessaire que votre application réponde à cet événement.

complete Distribué lorsque les données du fichier ont été intégralement téléchargées.flash.events.Event.COMPLETEflash.events.Event Distribué lorsque les données du fichier ont été intégralement téléchargées.

Remarque : le moteur d’exécution d’AIR a recours à cet événement pour gérer le processus de récupération des données asynchrones. En règle générale, il n’est pas nécessaire que votre application réponde à cet événement.

open Distribué lorsque la connexion sous-jacente de l’objet URLStream est ouverte.flash.events.Event.OPENflash.events.Event Distribué lorsque la connexion sous-jacente de l’objet URLStream est ouverte.

Remarque : le moteur d’exécution d’AIR a recours à cet événement pour gérer le processus de récupération des données asynchrones. En règle générale, il n’est pas nécessaire que votre application réponde à cet événement.

URLFilePromise Crée un objet URLFilePromise. Crée un objet URLFilePromise.

Vous devez définir les propriétés request et relativePath avant d’utiliser cet objet URLFilePromise.

close Permet au moteur d’exécution d’AIR de fermer la source de données à l’heure indiquée pendant l’opération de glisser-déposer. Permet au moteur d’exécution d’AIR de fermer la source de données à l’heure indiquée pendant l’opération de glisser-déposer.

N’appelez pas cette fonction dans la logique de votre application.

open Permet au moteur d’exécution d’AIR d’ouvrir la source de données à l’heure indiquée pendant l’opération de glisser-déposer.flash.utils:IDataInput Permet au moteur d’exécution d’AIR d’ouvrir la source de données à l’heure indiquée pendant l’opération de glisser-déposer.

N’appelez pas cette fonction dans la logique de votre application.

reportError Permet au moteur d’exécution d’AIR de signaler les erreurs qui se produisent pendant l’opération de glisser-déposer.eflash.events:ErrorEvent Permet au moteur d’exécution d’AIR de signaler les erreurs qui se produisent pendant l’opération de glisser-déposer.

L’objet URLFilePromise redistribue tous les événements d’erreur signalés. N’appelez pas cette fonction dans la logique de votre application.

isAsync Indique si les données de ressources sont disponibles de manière asynchrone.Boolean Indique si les données de ressources sont disponibles de manière asynchrone.

La propriété isAsync d’un objet URLFilePromise est toujours true, car les flux d’URL sont par nature asynchrones.

relativePath Chemin et nom de fichier du fichier créé par rapport à la cible du dépôt.String Chemin et nom de fichier du fichier créé par rapport à la cible du dépôt.

Le chemin peut inclure des sous-répertoires, qui sont résolus en fonction de l’emplacement du dépôt. Des sous-répertoires sont créés, le cas échéant. Lorsque vous incluez des sous-répertoires, utilisez la constante File.separator pour insérer le caractère de séparation du chemin correspondant au système d’exploitation actuel. L’utilisation du raccourci .. pour rechercher un répertoire parent n’est pas autorisé.

Il n’est pas nécessaire que le nom du fichier soit identique au nom de fichier de la ressource distante.

request L’objet URLRequest identifiant la ressource à copier suite à une opération de glisser-déposer.flash.net:URLRequest L’objet URLRequest identifiant la ressource à copier suite à une opération de glisser-déposer.