Packageflash.net
Classepublic class FileReference
HéritageFileReference Inheritance EventDispatcher Inheritance Object

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La classe FileReference permet de charger et télécharger des fichiers entre l'ordinateur d'un utilisateur et un serveur. Une boîte de dialogue du système d'exploitation invite l'utilisateur à sélectionner un fichier pour le charger ou à choisir un emplacement pour le télécharger. Chaque objet FileReference fait référence à un seul fichier sur le disque dur de l'utilisateur et inclut des propriétés contenant des informations sur la taille, le type, le nom, la date de création, la date de modification et le type de créateur (Macintosh uniquement) du fichier.

Les occurrences de FileReference sont créées de deux façons :

Pendant une opération de chargement, toutes les propriétés d'un objet FileReference sont renseignées par des appels des méthodes FileReference.browse() ou FileReferenceList.browse(). Pendant une opération de téléchargement, la propriété name est renseignée lors de la distribution de l’événement select. Toutes les autres propriétés sont renseignées lors de la distribution de l’événement complete.

La méthode browse() ouvre une boîte de dialogue du système d'exploitation qui invite l'utilisateur à sélectionner un fichier en vue de le charger. La méthode FileReference.browse() permet à l'utilisateur de choisir un seul fichier ; la méthode FileReferenceList.browse() lui permet d'en sélectionner plusieurs. Lorsque l'appel de la méthode browse() a réussi, appelez la méthode FileReference.upload() pour charger un seul fichier à la fois. La méthode FileReference.download() invite l'utilisateur à sélectionner un emplacement pour enregistrer le fichier et initialise le téléchargement à partir d'une URL distante.

Les classes FileReference et FileReferenceList ne vous permettent pas de définir un emplacement de fichier par défaut pour la boîte de dialogue générée par les méthodes browse() et download(). L'emplacement par défaut indiqué dans la boîte de dialogue est le dernier dossier parcouru, dans la mesure où il est possible de déterminer cet emplacement, ou le Bureau. Les classes ne vous permettent pas d’accéder aux fichiers transférés en lecture ou en écriture. Elles ne permettent pas au fichier SWF qui a initié le chargement ou le téléchargement d'accéder au fichier chargé ou à l'emplacement du fichier sur le disque de l'utilisateur.

Par ailleurs, les classes FileReference et FileReferenceList ne proposent pas de méthode d'authentification. Pour les serveurs ayant besoin d'une authentification, vous pouvez télécharger des fichiers avec le plug-in de navigation de Flash® Player, mais le chargement (sur tous les lecteurs) et le téléchargement (sur les lecteurs autonomes ou externes) échouent. Utilisez les écouteurs d'événements FileReference afin de déterminer si les opérations ont réussi, ou non, et pour traiter les erreurs.

Pour les opérations de chargement et de téléchargement, un fichier SWF peut accéder aux fichiers uniquement à l'intérieur de son propre domaine, ce qui comprend tous les domaines spécifiés par un fichier de régulation interdomaines. Si le fichier SWF qui initialise le chargement ou le téléchargement n'appartient pas au même domaine que le serveur de fichiers, placez un fichier de régulation dans ce dernier.

Pendant l'exécution des appels aux méthodes FileReference.browse(), FileReferenceList.browse() ou FileReference.download(), la lecture de fichier SWF s'interrompt sur les lecteurs autonomes et externes des systèmes Linux et Mac OS X 10.1 et versions antérieures.

Flash Player envoie la requête HTTP POST suivante, par exemple, à un script côté serveur en l’absence de paramètres :

  POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="nomFichier" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="photo"; nomFichier="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
  

Flash Player envoie la requête HTTP POST suivante si l’utilisateur spécifie les paramètres api_sig, api_key et auth_token :

  POST /handler.cfm HTTP/1.1 Accept: text/* Content-Type: multipart/form-data; boundary=----------Ij5ae0ae0KM7GI3KM7ei4cH2ei4gL6 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="nomFichier" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_sig" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="api_key" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="auth_token" XXXXXXXXXXXXXXXXXXXXXX ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="photo"; nomFichier="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
  

Consulter les exemples

Voir aussi

FileReferenceList
Utilisation des chargements et téléchargements de fichiers


Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  creationDate : Date
[lecture-seule] Date de création du fichier dans le disque local.
FileReference
  creator : String
[lecture-seule] Type de créateur Macintosh du fichier.
FileReference
  modificationDate : Date
[lecture-seule] Date de la dernière modification du fichier dans le disque local.
FileReference
  name : String
[lecture-seule] Nom du fichier dans le disque local.
FileReference
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  size : uint
[lecture-seule] Taille du fichier dans le disque local, en octets.
FileReference
  type : String
[lecture-seule] Type de fichier.
FileReference
Méthodes publiques
 MéthodeDéfini par
  
Crée un nouvel objet FileReference.
FileReference
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
browse(typeFilter:Array = null):Boolean
Affiche une boîte de dialogue de recherche de fichiers dans laquelle l'utilisateur peut sélectionner un fichier à charger.
FileReference
  
Annule une opération de chargement ou de téléchargement en cours sur cet objet FileReference.
FileReference
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
  
download(request:URLRequest, defaultFileName:String = null):void
Affiche une boîte de dialogue permettant à l'utilisateur de télécharger un fichier à partir d'un serveur distant.
FileReference
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
  
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Procède au chargement d’un fichier sélectionné par un utilisateur sur un serveur distant.
FileReference
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif.EventDispatcher
   Distribué lorsqu'un chargement ou un téléchargement de fichiers est annulé par l'utilisateur via la boîte de dialogue de recherche de fichiers.FileReference
   Distribué à la fin d'un téléchargement ou lorsqu'un chargement génère le code d'état HTTP 200.FileReference
 Inherited Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif.EventDispatcher
   Distribué lorsqu'un chargement échoue et qu'il existe un code d'état HTTP décrivant l'échec.FileReference
   Distribué lors de l'échec de l'opération de chargement ou de téléchargement.FileReference
   Distribué au début d'une opération de chargement ou de téléchargement.FileReference
   Distribué régulièrement pendant l'opération de chargement ou de téléchargement.FileReference
   Distribué lorsqu'un appel de la méthode FileReference.upload() ou FileReference.download() tente de charger un fichier sur un serveur ou d'extraire un fichier d'un serveur qui se trouve hors du sandbox de sécurité de l'appelant.FileReference
   Distribué lorsque l'utilisateur sélectionne un fichier à charger ou télécharger dans la boîte de dialogue de recherche de fichiers.FileReference
   Distribué après réception des données par le serveur suite à un chargement réussi.FileReference
Détails des propriétés
creationDatepropriété
creationDate:Date  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Date de création du fichier dans le disque local. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null.


Implémentation
    public function get creationDate():Date

Lance
IllegalOperationError — Si l’appel de la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download() n’a pas abouti, une exception est renvoyée, accompagnée d’un message indiquant que des fonctions ont été appelées dans un ordre incorrect ou qu’un appel antérieur a échoué. Dans ce cas, la valeur de la propriété creationDate correspond à null.
 
IOError — S'il est impossible d'accéder aux informations relatives au fichier, une exception indiquant qu'une erreur d'E/S s’est produite sur un fichier est renvoyée.

Voir aussi

creatorpropriété 
creator:String  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Type de créateur Macintosh du fichier. Sous Windows, cette propriété est null. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null.


Implémentation
    public function get creator():String

Lance
IllegalOperationError — Sous Macintosh, si l’appel de la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download() n’a pas abouti, une exception est renvoyée, accompagnée d’un message indiquant que des fonctions ont été appelées dans un ordre incorrect ou qu’un appel antérieur a échoué. Dans ce cas, la valeur de la propriété creator correspond à null.

Voir aussi

modificationDatepropriété 
modificationDate:Date  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Date de la dernière modification du fichier dans le disque local. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null.


Implémentation
    public function get modificationDate():Date

Lance
IllegalOperationError — Si l’appel de la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download() n’a pas abouti, une exception est renvoyée, accompagnée d’un message indiquant que des fonctions ont été appelées dans un ordre incorrect ou qu’un appel antérieur a échoué. Dans ce cas, la valeur de la propriété modificationDate correspond à null.
 
IOError — S'il est impossible d'accéder aux informations relatives au fichier, une exception indiquant qu'une erreur d'E/S s’est produite sur un fichier est renvoyée.

Voir aussi

namepropriété 
name:String  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Nom du fichier dans le disque local. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null.

Toutes les propriétés d'un objet FileReference sont renseignées par appel de la méthode browse(). A la différence des autres propriétés FileReference, si vous appelez la méthode download(), la propriété name est renseignée lors de la distribution de l’événement select.


Implémentation
    public function get name():String

Lance
IllegalOperationError — Si l’appel de la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download() n’a pas abouti, une exception est renvoyée, accompagnée d’un message indiquant que des fonctions ont été appelées dans un ordre incorrect ou qu’un appel antérieur a échoué. Dans ce cas, la valeur de la propriété name correspond à null.

Voir aussi

sizepropriété 
size:uint  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Taille du fichier dans le disque local, en octets. Si size est égale à 0, une exception est renvoyée.


Implémentation
    public function get size():uint

Lance
IllegalOperationError — Si l’appel de la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download() n’a pas abouti, une exception est renvoyée, accompagnée d’un message indiquant que des fonctions ont été appelées dans un ordre incorrect ou qu’un appel antérieur a échoué. Dans ce cas, la valeur de la propriété size correspond à 0.
 
IOError — Si l’ouverture ou la lecture du fichier est impossible ou qu’une autre erreur d’accès au fichier survient, une exception indiquant qu'une erreur d’E/S s’est produite dans le fichier est renvoyée. Dans ce cas, la valeur de la propriété size correspond à 0.

Voir aussi

typepropriété 
type:String  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Type de fichier. Sous Windows, cette propriété est l'extension de fichier. Sous Macintosh, cette propriété est le type de fichier à quatre caractères. Si l'objet FileReference n'a pas été renseigné, l'appel effectué pour obtenir la valeur de cette propriété renvoie null.


Implémentation
    public function get type():String

Lance
IllegalOperationError — Si l’appel de la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download() n’a pas abouti, une exception est renvoyée, accompagnée d’un message indiquant que des fonctions ont été appelées dans un ordre incorrect ou qu’un appel antérieur a échoué. Dans ce cas, la valeur de la propriété type correspond à null.
Détails du constructeur
FileReference()Constructeur
public function FileReference()

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Crée un nouvel objet FileReference. Quand il est renseigné, un objet FileReference représente un fichier du disque local de l'utilisateur.

Voir aussi

Détails des méthodes
browse()méthode
public function browse(typeFilter:Array = null):Boolean

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Affiche une boîte de dialogue de recherche de fichiers dans laquelle l'utilisateur peut sélectionner un fichier à charger. La boîte de dialogue est spécifique au système d'exploitation de l'utilisateur. L’utilisateur peut sélectionner un fichier dans l’ordinateur local ou dans d’autres systèmes, via un chemin UNC sur Windows, par exemple.

Lorsque vous appelez cette méthode et que l'utilisateur réussit à sélectionner un fichier, les propriétés de l’objet FileReference sont renseignées par les propriétés de ce fichier. Par la suite, à chaque appel de la méthode FileReference.browse(), les propriétés de l'objet FileReference sont réinitialisées en fonction du fichier choisi par l'utilisateur dans la boîte de dialogue. Une seule session browse() ou download() peut être effectuée à la fois (car une seule boîte de dialogue peut être appelée à la fois).

Le paramètre typeFilter vous permet de déterminer les fichiers répertoriés dans la boîte de dialogue.

Paramètres

typeFilter:Array (default = null) — Tableau d’occurrences de FileFilter utilisé pour filtrer les fichiers qui s'affichent dans la boîte de dialogue. Si vous omettez ce paramètre, tous les fichiers s'affichent. Pour plus d’informations, consultez la propriété FileFilter.

Valeur renvoyée
Boolean — Renvoie true si les paramètres sont valides et que la boîte de dialogue de recherche de fichiers est ouverte. La méthode browse renvoie false si la boîte de dialogue ne s'affiche pas, si une autre session browse est déjà en cours ou si vous utilisez le paramètre typelist sans fournir une chaîne de description ou d'extension pour un élément du tableau.

Evénements
select:Event — Distribué lorsque l’utilisateur sélectionne un élément dans la boîte de dialogue de recherche de fichiers.
 
cancel:Event — Distribué lorsque l’utilisateur annule la fenêtre de recherche de fichiers réservée aux chargements de fichiers.

Lance
IllegalOperationError — Renvoyé dans les cas suivants : 1) Une autre session browse FileReference ou FileReferenceList est en cours. Il est impossible d’exécuter plusieurs sessions de recherche de fichiers simultanément. 2) Un paramètre du fichier mms.cfg de l’utilisateur bloque cette opération.
 
ArgumentError — Une exception est renvoyée si le tableau typeFilter contient des objets FileFilter incorrectement formatés. Pour plus d’informations sur le format correct des objets FileFilter, consultez la classe FileFilter.

Voir aussi

cancel()méthode 
public function cancel():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Annule une opération de chargement ou de téléchargement en cours sur cet objet FileReference. L’appel de cette méthode n’entraîne pas la distribution de l’événement cancel. Celui-ci n’est distribué que si l’utilisateur annule l’opération en fermant la boîte de dialogue de sélection des fichiers à charger ou télécharger.

download()méthode 
public function download(request:URLRequest, defaultFileName:String = null):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Affiche une boîte de dialogue permettant à l'utilisateur de télécharger un fichier à partir d'un serveur distant. Flash Player n'impose pas de restrictions au niveau de la taille des fichiers chargés ou téléchargés, mais officiellement le lecteur prend en charge des chargements/téléchargements de 100 Mo au maximum.

La méthode download() ouvre d'abord une boîte de dialogue du système d'exploitation demandant à l'utilisateur d'entrer un nom de fichier et de sélectionner l’emplacement où enregistrer le fichier dans l'ordinateur local. Quand l'utilisateur choisit un emplacement et confirme le téléchargement (en cliquant sur Enregistrer, par exemple), celui-ci commence sur le serveur distant. Les écouteurs reçoivent des événements indiquant la progression du téléchargement, ainsi que sa réussite ou son échec. Pour déterminer l’état de la boîte de dialogue et de l'opération de téléchargement après avoir appelé la méthode download(), votre code ActionScript doit écouter les événements tels que cancel, open, progress et complete.

Les fonctions FileReference.upload() et FileReference.download() ne sont pas bloquantes. Elles sont renvoyées après leur appel, avant la fin de la transmission de fichiers. En outre, si l’objet FileReference sort de son domaine, tout chargement ou téléchargement qui n'est pas encore terminé sur cet objet est annulé à ce moment-là. Veillez à ce que l’objet FileReference demeure dans son domaine pendant toute la durée prévue du chargement ou du téléchargement.

Une fois le fichier téléchargé, les propriétés de l'objet FileReference sont renseignées par les propriétés du fichier local. L’événement complete est distribué si le téléchargement aboutit.

Une seule session browse() ou download() peut être effectuée à la fois (car une seule boîte de dialogue peut être appelée à la fois).

Cette méthode prend en charge le téléchargement de tout type de fichier, via HTTP ou HTTPS.

Remarque : Si votre serveur requiert l'authentification des utilisateurs, seuls les fichiers SWF s'exécutant dans un navigateur (c'est-à-dire avec le plug-in de navigation ou un contrôle ActiveX), peuvent fournir une boîte de dialogue qui demande à l'utilisateur son identifiant et son mot de passe d'authentification, ceci uniquement pour les téléchargements. Le transfert de fichiers échoue si le chargement est effectué à l’aide du plug-in ou d'un contrôle ActiveX, ou si un chargement/téléchargement est effectué par le biais du lecteur autonome ou externe.

Lorsque vous employez cette méthode, tenez compte du modèle de sécurité Flash Player :

Pour plus d'informations, consultez les références suivantes :

Paramètres

request:URLRequest — L’objet URLRequest. La propriété url de l’objet URLRequest doit contenir l’URL du fichier à télécharger sur l’ordinateur local. Si la valeur de ce paramètre est null, une exception est renvoyée. Pour envoyer des paramètres POST ou GET au serveur, réglez la valeur de URLRequest.data sur vos paramètres et URLRequest.method sur URLRequestMethod.POST ou URLRequestMethod.GET.

Dans certains navigateurs, la longueur des chaînes d'URL est limitée. Une longueur supérieure à 256 caractères peut échouer avec certains navigateurs ou serveurs.

 
defaultFileName:String (default = null) — Nom de fichier par défaut affiché dans la boîte de dialogue pour le fichier à télécharger. Les caractères suivants sont interdits dans cette chaîne : / \ : * ? " < > | %

Si vous omettez ce paramètre, le nom de fichier de l'URL distante est analysé et utilisé par défaut.


Evénements
open:Event — Distribué lors du démarrage d’une opération de téléchargement.
 
progress:ProgressEvent — Distribué régulièrement pendant le téléchargement du fichier.
 
complete:Event — Distribué en cas de réussite de l'opération de téléchargement.
 
cancel:Event — Distribué lorsque l'utilisateur ferme la boîte de dialogue.
 
select:Event — Distribué lorsque l'utilisateur sélectionne un fichier à télécharger dans la boîte de dialogue.
 
securityError:SecurityErrorEvent — Distribué lorsqu'un téléchargement échoue en raison d'une erreur de sécurité.
 
ioError:IOErrorEvent — Distribué pour l'une des raisons suivantes :
  • Une erreur d'entrée/sortie se produit pendant la lecture ou la transmission du fichier.
  • Le fichier SWF tente de télécharger un fichier à partir d'un serveur nécessitant une authentification, dans le lecteur autonome ou externe. Au cours du téléchargement, les lecteurs autonomes et externes ne permettent pas aux utilisateurs d'entrer des mots de passe. Si un fichier SWF présent dans ces lecteurs tente de télécharger un fichier à partir d'un serveur nécessitant une authentification, le téléchargement échoue. Le téléchargement de fichiers réussit uniquement via les lecteurs avec contrôle ActiveX et plug-in de navigation.

Lance
IllegalOperationError — Renvoyé dans les cas suivants : 1) Une autre session browse est en cours. Il est impossible d’exécuter plusieurs sessions de recherche de fichiers simultanément. 2) La valeur transmise à request ne contient ni un chemin ni un protocole valide. 3) Le nom de fichier à télécharger contient des caractères interdits. 4) Un paramètre du fichier mms.cfg de l’utilisateur bloque cette opération.
 
SecurityError — Les fichiers SWF locaux non approuvés ne peuvent pas communiquer avec Internet. Pour contourner cette restriction, reclassifiez le fichier SWF en tant que fichier local avec accès au réseau ou en tant que fichier approuvé. Cette exception est renvoyée, accompagnée d’un message indiquant le nom de fichier et l’URL qui ne sont pas accessibles en raison des restrictions relatives à la sécurité des fichiers locaux.
 
ArgumentError — Si url.data est de type ByteArray, une exception est renvoyée. Lorsqu’il est utilisé avec les méthodes FileReference.upload() et FileReference.download(), url.data peut uniquement être de type URLVariables ou String.
 
MemoryError — Cette erreur peut se produire pour les raisons suivantes : 1) Flash Player ne peut pas convertir le paramètre URLRequest.data du format UTF8 au format MBCS. Cette erreur se produit si l’objet URLRequest transmis à la méthode FileReference.download() est configuré pour exécuter une opération GET et si System.useCodePage est réglé sur true. 2) Flash Player ne peut pas allouer de mémoire aux données POST. Cette erreur se produit si l’objet URLRequest transmis à la méthode FileReference.download() est configuré pour exécuter une opération POST.

Voir aussi


Exemple

L’exemple suivant illustre l’emploi de l’objet événement download. Pour exécuter cet exemple, modifiez la propriété downloadURL.url pour qu'elle pointe sur une URL et un domaine existants, au lieu de l'adresse http://www fictive.[votreDomaine].com/SomeFile.pdf. Vous aurez peut-être besoin de compiler le fichier SWF avec l'option Protection de lecture locale définie sur Accéder au réseau seulement ou de mettre à jour vos paramètres de sécurité Flash Player pour autoriser ce fichier à accéder au réseau.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;
    import flash.net.FileFilter;

    public class FileReference_download extends Sprite {
        private var downloadURL:URLRequest;
        private var fileName:String = "SomeFile.pdf";
        private var file:FileReference;

        public function FileReference_download() {
            downloadURL = new URLRequest();
            downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
            file = new FileReference();
            configureListeners(file);
            file.download(downloadURL, fileName);
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.CANCEL, cancelHandler);
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(Event.SELECT, selectHandler);
        }

        private function cancelHandler(event:Event):void {
            trace("cancelHandler: " + event);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
        }
    }
}
upload()méthode 
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Procède au chargement d’un fichier sélectionné par un utilisateur sur un serveur distant. Flash Player n'impose pas de restrictions au niveau de la taille des fichiers chargés ou téléchargés, mais officiellement le lecteur prend en charge des chargements/téléchargements de 100 Mo au maximum. Vous devez appeler la méthode FileReference.browse() ou FileReferenceList.browse() avant d'appeler cette méthode.

Les écouteurs reçoivent des événements indiquant la progression du chargement, ainsi que sa réussite ou son échec. Bien que vous puissiez employer l'objet FileReferenceList pour permettre aux utilisateurs de sélectionner plusieurs fichiers à charger, vous devez charger ces fichiers un par un. Pour ce faire, exécutez une itération dans le tableau FileReferenceList.fileList des objets FileReference.

Les fonctions FileReference.upload() et FileReference.download() ne sont pas bloquantes. Elles sont renvoyées après leur appel, avant la fin de la transmission de fichiers. En outre, si l’objet FileReference sort de son domaine, tout chargement ou téléchargement qui n'est pas encore terminé sur cet objet est annulé à ce moment-là. Veillez à ce que l’objet FileReference demeure dans son domaine pendant toute la durée prévue du chargement ou du téléchargement.

Le fichier est chargé dans l'URL transmise dans le paramètre url. L'URL doit être un script serveur configuré pour accepter les chargements. Flash Player charge les fichiers à l'aide de la méthode HTTP POST. Le script serveur qui gère le chargement doit attendre une requête POST comportant les éléments suivants :

Vous trouverez un exemple de requête POST dans la description du paramètre uploadDataFieldName. Vous pouvez envoyer les paramètres POST ou GET au serveur à l’aide de la méthode upload(). Consultez la description du paramètre request.

Si le paramètre testUpload est réglé sur true et que la taille du fichier à charger est supérieure à 10 Ko environ, sous Windows, Flash Player envoie d’abord une opération POST de test vide, avant le fichier lui-même, pour vérifier si la transmission est susceptible d’aboutir. Flash Player envoie ensuite une seconde opération POST contenant le fichier lui-même. Si la taille du fichier est inférieure à 10 Ko, Flash Player exécute une seule opération POST contenant le fichier lui-même. Sous Macintosh, Flash Player n’exécute pas d’opérations de chargement POST de test.

Remarque : Si votre serveur requiert l'authentification des utilisateurs, seuls les fichiers SWF s'exécutant dans un navigateur (c'est-à-dire avec le plug-in de navigation ou un contrôle ActiveX), peuvent fournir une boîte de dialogue qui demande à l'utilisateur son identifiant et son mot de passe d'authentification, ceci uniquement pour les téléchargements. Le transfert de fichiers échoue si le chargement est effectué à l’aide du plug-in ou d'un contrôle ActiveX, ou si un chargement/téléchargement est effectué par le biais du lecteur autonome ou externe.

Lorsque vous employez cette méthode, tenez compte des restrictions suivantes liées au modèle de sécurité Flash Player :

Pour plus d'informations, consultez les références suivantes :

Paramètres

request:URLRequest — L’objet URLRequest. La propriété url de cet objet doit contenir l’URL du script serveur configuré pour traiter le chargement via les appels HTTP POST. Dans certains navigateurs, la longueur des chaînes d'URL est limitée. Une longueur supérieure à 256 caractères peut échouer avec certains navigateurs ou serveurs. Si la valeur de ce paramètre est null, une exception est renvoyée.

L'URL peut être de type HTTP ou, pour les chargements sécurisés, de type HTTPS. Pour utiliser HTTPS, entrez une URL HTTPS dans le paramètre url. Si vous ne spécifiez pas de numéro de port dans le paramètre url, Flash Player utilise par défaut le port 80 pour HTTP et le port 443 pour HTTPS.

Pour envoyer des paramètres POST or GET au serveur, réglez la propriété data de l’objet URLRequest sur vos paramètres et la propriété method sur URLRequestMethod.POST ou URLRequestMethod.GET.

 
uploadDataFieldName:String (default = "Filedata") — Nom de champ qui précède les données du fichier dans l’opération de chargement POST. La valeur de uploadDataFieldName doit être chaîne non vide et dont la valeur n'est pas null. Par défaut, la valeur de uploadDataFieldName correspond à Filedata, comme illustré dans l’exemple de requête POST ci-dessous :
 Content-Type: multipart/form-data; boundary=AaB03x --AaB03x Content-Disposition: form-data; name="Filedata"; filename="example.jpg" Content-Type: application/octet-stream ... contents of example.jpg ... --AaB03x-- 
 
 
testUpload:Boolean (default = false) — Paramètre permettant de demander le chargement d’un fichier de test. Si la valeur de testUpload est true, pour les fichiers supérieurs à 10 Ko, Flash Player tente de charger un fichier test POST avec une valeur Content-Length de 0. Le chargement de test vérifie si le chargement du fichier réel peut réussir et si l'authentification du serveur se passera bien, le cas échéant. Seuls les lecteurs Windows prennent en charge les chargements de test.


Evénements
open:Event — Distribué lors du démarrage d'une opération de chargement.
 
progress:ProgressEvent — Distribué régulièrement pendant le chargement du fichier.
 
complete:Event — Distribué en cas de réussite de l'opération de chargement.
 
uploadCompleteData:Event — Distribué lorsque le serveur envoie des données après la réussite d'un chargement de fichier.
 
securityError:SecurityErrorEvent — Distribué lorsqu'un chargement échoue en raison d'une violation de la sécurité.
 
httpStatus:HTTPStatusEvent — Distribué lorsqu'un chargement échoue en raison d'une erreur HTTP.
 
ioError:IOErrorEvent — Appelée dans l'un des cas suivants :
  • Le chargement échoue en raison d'une erreur d'entrée/sortie survenue pendant la lecture, l'écriture ou la transmission du fichier par Flash Player.
  • Le chargement échoue parce que le fichier SWF tente d’envoyer un fichier vers un serveur nécessitant une authentification (un nom d'utilisateur et un mot de passe, par exemple). Au cours du chargement, Flash Player ne permet pas aux utilisateurs d'entrer des mots de passe.
  • Le chargement échoue car le paramètre url contient un protocole non valide. La méthode FileReference.upload() doit utiliser HTTP ou HTTPS.

Lance
SecurityError — Les fichiers SWF locaux non approuvés ne peuvent pas communiquer avec Internet. Pour contourner cette restriction, reclassifiez le fichier SWF en tant que fichier local avec accès au réseau ou en tant que fichier approuvé. Cette exception est renvoyée, accompagnée d’un message indiquant le nom du fichier local et l’URL qui ne sont pas accessibles.
 
IllegalOperationError — Renvoyé dans les cas suivants : 1) Une autre session browse FileReference ou FileReferenceList est en cours. Il est impossible d’exécuter plusieurs sessions de recherche de fichiers simultanément. 2) Le paramètre URL n’est pas un chemin ou un protocole valide. Les chargements de fichiers doivent utiliser HTTP, les téléchargements FTP ou HTTP. 3) Le paramètre uploadDataFieldName est réglé sur null. 4) Un paramètre du fichier mms.cfg de l’utilisateur bloque cette opération.
 
ArgumentError — Renvoyé dans les cas suivants : 1) Le paramètre uploadDataFieldName est une chaîne vide. 2) Le paramètre url.data est de type ByteArray. Lorsqu’il est utilisé avec les méthodes FileReference.upload() et FileReference.download(), url.data peut uniquement être de type URLVariables ou String.
 
MemoryError — Cette erreur peut se produire pour les raisons suivantes : 1) Flash Player ne peut pas convertir le paramètre URLRequest.data du format UTF8 au format MBCS. Cette erreur se produit si l’objet URLRequest transmis à FileReference.upload() est configuré pour exécuter une opération GET et si System.useCodePage est réglé sur true. 2) Flash Player ne peut pas allouer de mémoire aux données POST. Cette erreur est applicable si l’objet URLRequest transmis à FileReference.upload() est configuré pour exécuter une opération POST.

Voir aussi

Détails des événements
cancel Evénement
Type d'objet événement: flash.events.Event
Event.type property = flash.events.Event.CANCEL

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu'un chargement ou un téléchargement de fichiers est annulé par l'utilisateur via la boîte de dialogue de recherche de fichiers. Flash Player ne distribue pas cet événement si l'utilisateur annule un chargement ou un téléchargement selon un autre procédé (en fermant le navigateur ou en arrêtant l'application active).

Définit la valeur de la propriété type d'un objet événement cancel.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetRéférence à l’objet pour lequel l'opération est annulée.

Exemple

L'exemple suivant illustre l'utilisation de l'objet événement download. Pour exécuter cet exemple, modifiez la propriété downloadURL.url pour qu'elle pointe sur une URL et un domaine existants, au lieu de l'adresse http://www fictive.[votreDomaine].com/SomeFile.pdf. Vous aurez peut-être besoin de compiler le fichier SWF avec l'option Protection de lecture locale définie sur Accéder au réseau seulement ou de mettre à jour vos paramètres de sécurité Flash Player pour autoriser ce fichier à accéder au réseau.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;

    public class FileReference_event_cancel extends Sprite {
        private var downloadURL:URLRequest;
        private var fileName:String = "SomeFile.pdf";
        private var file:FileReference;

        public function FileReference_event_cancel() {
            downloadURL = new URLRequest();
            downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
            file = new FileReference();
            file.addEventListener(Event.CANCEL, cancelHandler);
            file.download(downloadURL, fileName);
        }
        private function cancelHandler(event:Event):void {
            trace("cancelHandler: " + event);
        }
    }
}
complete Evénement  
Type d'objet événement: flash.events.Event
Event.type property = flash.events.Event.COMPLETE

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué à la fin d’un téléchargement ou lorsqu’un chargement génère le code d’état HTTP 200. Dans le cas d’un téléchargement, cet événement est distribué lorsque Flash Player achève la totalité du téléchargement du fichier dans le disque. Dans le cas d’un chargement, cet événement est distribué lorsque Flash Player reçoit le code d’état HTTP 200 du serveur recevant la transmission.

Définit la valeur de la propriété type d'un objet événement complete.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau dont le chargement est terminé.

Exemple

L'exemple suivant illustre l'utilisation de l'objet événement complete. Pour exécuter cet exemple, modifiez la propriété downloadURL.url pour qu'elle pointe sur une URL et un domaine existants, au lieu de l'adresse http://www fictive.[votreDomaine].com/SomeFile.pdf. Vous aurez peut-être besoin de compiler le fichier SWF avec l'option Protection de lecture locale définie sur Accéder au réseau seulement ou de mettre à jour vos paramètres de sécurité Flash Player pour autoriser ce fichier à accéder au réseau.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;

    public class FileReference_event_complete extends Sprite {
        private var downloadURL:URLRequest;
        private var fileName:String = "SomeFile.pdf";
        private var file:FileReference;

        public function FileReference_event_complete() {
            downloadURL = new URLRequest();
            downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
            file = new FileReference();
            configureListeners(file);
            file.download(downloadURL, fileName);
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.CANCEL, cancelHandler);
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(Event.SELECT, selectHandler);
        }

        private function cancelHandler(event:Event):void {
            trace("cancelHandler: " + event);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
        }
    }
}

Voir aussi

httpStatus Evénement  
Type d'objet événement: flash.events.HTTPStatusEvent
HTTPStatusEvent.type property = flash.events.HTTPStatusEvent.HTTP_STATUS

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu'un chargement échoue et qu’il existe un code d’état HTTP décrivant l’échec. L’événement httpStatus est distribué et suivi de l’événement ioError.

L’événement httpStatus est uniquement distribué en cas d'échec d'un chargement. Compte tenu de la façon dont Flash Player se fie au navigateur au cours du téléchargement de fichiers, cet événement n'est pas applicable aux échecs de téléchargement. Si un téléchargement échoue en raison d'une erreur HTTP, l'erreur est signalée en tant qu'erreur d'E/S.

Définit la valeur de la propriété type d'un objet événement httpStatus.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
statusLe code d’état HTTP renvoyé par le serveur.
targetL’objet réseau recevant un code d’état HTTP.

Voir aussi

ioError Evénement  
Type d'objet événement: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lors de l’échec de l’opération de chargement ou de téléchargement. Un transfert de fichiers peut échouer pour l’une des raisons suivantes :

Important : seules les applications Flash s'exécutant dans un navigateur, via le plug-in de navigation ou un contrôle ActiveX, peuvent proposer une boîte de dialogue pour inviter l'utilisateur à s'authentifier avec un nom d'utilisateur et un mot de passe, et ceci uniquement pour les téléchargements. Le transfert de fichiers échoue si le chargement est effectué à l’aide du plug-in ou du contrôle ActiveX, ou si un chargement/téléchargement est effectué par le biais du lecteur autonome ou externe.

Définit la valeur de la propriété type d’un objet événement ioError.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau sur lequel l’erreur d’entrée/sortie s’est produite.
textTexte à afficher en tant que message d’erreur.

Voir aussi

open Evénement  
Type d'objet événement: flash.events.Event
Event.type property = flash.events.Event.OPEN

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué au début d'une opération de chargement ou de téléchargement.

Définit la valeur de la propriété type d'un objet événement open.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau qui a ouvert une connexion.

Exemple

L’exemple suivant illustre l’emploi de l’objet événement download. Pour exécuter cet exemple, modifiez la propriété downloadURL.url pour qu'elle pointe sur une URL et un domaine existants, au lieu de l'adresse http://www fictive.[votreDomaine].com/SomeFile.pdf. Vous aurez peut-être besoin de compiler le fichier SWF avec l'option Protection de lecture locale définie sur Accéder au réseau seulement ou de mettre à jour vos paramètres de sécurité Flash Player pour autoriser ce fichier à accéder au réseau.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;
    import flash.net.FileFilter;

    public class FileReference_download extends Sprite {
        private var downloadURL:URLRequest;
        private var fileName:String = "SomeFile.pdf";
        private var file:FileReference;

        public function FileReference_download() {
            downloadURL = new URLRequest();
            downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
            file = new FileReference();
            configureListeners(file);
            file.download(downloadURL, fileName);
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.CANCEL, cancelHandler);
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(Event.SELECT, selectHandler);
        }

        private function cancelHandler(event:Event):void {
            trace("cancelHandler: " + event);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
        }
    }
}

Voir aussi

progress Evénement  
Type d'objet événement: flash.events.ProgressEvent
ProgressEvent.type property = flash.events.ProgressEvent.PROGRESS

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué régulièrement pendant l'opération de chargement ou de téléchargement. L'événement progress est distribué pendant que Flash Player transmet des octets à un serveur, et il est déclenché régulièrement pendant la transmission, même si, au final, elle n’aboutit pas. Pour déterminer si la transmission du fichier est entièrement terminée, et à quel moment, écoutez l'événement complete.

Il arrive que des événements progress ne soient pas reçus. Lorsque le fichier transmis est très petit ou lorsque le chargement ou le téléchargement se déroule très rapidement, par exemple, il se peut qu'aucun événement progress ne soit distribué.

La progression du chargement d'un fichier ne peut pas être déterminée sur les plate-formes Macintosh avec version antérieure à OS X 10.3. L'événement progress est appelé au cours du chargement, mais la valeur de la propriété bytesLoaded de l’événement progress correspond à -1, ce qui indique que la progression ne peut pas être identifiée.

Définit la valeur de la propriété type d'un objet événement progress.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
bytesLoadedNombre d’éléments ou d’octets chargés lors du traitement de l’événement par l'écouteur.
bytesTotalNombre total d'éléments ou d'octets qui seront chargés si le processus de chargement aboutit.
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau indiquant la progression.

Exemple

L'exemple suivant illustre l'utilisation de l'objet événement progress. Pour exécuter cet exemple, modifiez la propriété downloadURL.url pour qu'elle pointe sur une URL et un domaine existants, au lieu de l'adresse http://www fictive.[votreDomaine].com/SomeFile.pdf. Vous aurez peut-être besoin de compiler le fichier SWF avec l'option Protection de lecture locale définie sur Accéder au réseau seulement ou de mettre à jour vos paramètres de sécurité Flash Player pour autoriser ce fichier à accéder au réseau.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;

    public class FileReference_event_progress extends Sprite {
        private var downloadURL:URLRequest;
        private var fileName:String = "SomeFile.pdf";
        private var file:FileReference;

        public function FileReference_event_progress() {
            downloadURL = new URLRequest();
            downloadURL.url = "http://www.[yourDomain].com/SomeFile.pdf";
            file = new FileReference();
            file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            file.addEventListener(Event.COMPLETE, completeHandler);
            file.download(downloadURL, fileName);
        }

        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }
        
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
        
        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }
    }
}

Voir aussi

securityError Evénement  
Type d'objet événement: flash.events.SecurityErrorEvent
SecurityErrorEvent.type property = flash.events.SecurityErrorEvent.SECURITY_ERROR

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu’un appel de la méthode FileReference.upload() ou FileReference.download() tente de charger un fichier sur un serveur ou d’extraire un fichier d’un serveur qui se trouve hors du sandbox de sécurité de l’appelant. En règle générale, la valeur de la propriété text qui décrit l’erreur spécifique qui s’est produite correspond à securitySandboxError. Le fichier SWF effectuant l'appel a peut-être tenté d'accéder à un fichier SWF hors de son domaine et sans l'autorisation nécessaire. Vous pouvez tenter de remédier à cette erreur via un fichier de régulation interdomaines.

La constante SecurityErrorEvent.SECURITY_ERROR définit la valeur de la propriété type d’un objet événement securityError.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau signalant l’erreur de sécurité
textTexte à afficher en tant que message d’erreur.

Voir aussi

select Evénement  
Type d'objet événement: flash.events.Event
Event.type property = flash.events.Event.SELECT

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsque l'utilisateur sélectionne un fichier à charger ou télécharger dans la boîte de dialogue de recherche de fichiers. (Cette boîte de dialogue s'ouvre quand vous appelez la méthode FileReference.browse(), FileReferenceList.browse() ou FileReference.download()) Lorsque l'utilisateur sélectionne un fichier et confirme l'opération (par exemple, en cliquant sur OK), les propriétés de l'objet FileReference sont renseignées.

L'événement select fonctionne légèrement différemment selon la méthode qui l’appelle. Lorsque l'événement select est distribué après un appel à browse(), Flash Player peut lire toutes les propriétés de l’objet FileReference, car le fichier choisi se trouve dans le système de fichiers local. Lorsque l'événement select se produit après un appel à download(), Flash Player peut uniquement lire la propriété name, car le fichier n'a pas encore été téléchargé dans le système de fichiers local au moment où l’événement select se produit. Quand le fichier a été téléchargé et l’événement complete distribué, Flash Player peut lire toutes les autres propriétés de l'objet FileReference.

Définit la valeur de la propriété type d'un objet événement select.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetObjet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet FileReference sur lequel un élément a été sélectionné.

Exemple

L'exemple suivant illustre l'utilisation de l'objet événement select. Pour exécuter cet exemple, modifiez la propriété downloadURL.url de sorte qu'elle pointe vers un domaine et un fichier réels, au lieu de l'adresse fictive http://www.[yourDomain].com/SomeFile.pdf. Il se peut que vous deviez également compiler le fichier SWF en réglant Sécurité de lecture locale sur Accès au réseau uniquement ou mettre à jour les paramètres de sécurité de Flash Player de façon à permettre un accès réseau à ce fichier. Pour que cet exemple s'exécute à partir de votre bureau, un fichier crossdomain.xml doit également résider sur votre serveur. Si la fonction ioErrorHandler() est déclenchée, vous devrez probablement mettre à jour la définition de la propriété uploadURL avec une URL valide configurée pour recevoir les chargements.
 
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileReference;
    import flash.net.URLRequest;

    public class FileReference_event_select extends Sprite {
        private var uploadURL:URLRequest;
        private var file:FileReference;

        public function FileReference_event_select() {
            uploadURL = new URLRequest();
            uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm";
            file = new FileReference();
            file.addEventListener(Event.SELECT, selectHandler);
            file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            file.addEventListener(Event.COMPLETE, completeHandler);
            file.browse();
        }

        private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url);
            file.upload(uploadURL);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }
    }
}
uploadCompleteData Evénement  
Type d'objet événement: flash.events.DataEvent
DataEvent.type property = flash.events.DataEvent.UPLOAD_COMPLETE_DATA

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Distribué après réception des données par le serveur suite à un chargement réussi. Cet événement n'est pas distribué si le serveur ne renvoie pas les données.

Définit la valeur de la propriété type d'un objet événement uploadCompleteData.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
dataLes données brutes sont renvoyées par le serveur après le chargement réussi d'un fichier.
targetObjet FileReference qui reçoit les données après un chargement réussi.
Exemples Utilisation des exemples
FileReferenceExample.as

L'exemple suivant affiche le format de données et l’état d’un fichier chargé à l’exécution.

Remarque : Pour exécuter cet exemple, modifiez la propriété uploadURL.url pour qu'elle pointe sur une URL réelle, au lieu de l'adresse fictive de l'exemple. L'URL doit pointer sur un fichier nommé yourUploadHandlerScript.cfm dans le répertoire Web racine de l'URL spécifiée. Selon votre configuration, vous aurez peut-être besoin de compiler le fichier SWF avec l'option Protection de lecture locale définie sur Accéder au réseau seulement ou de mettre à jour vos paramètres de sécurité Flash Player pour autoriser ce fichier à accéder au réseau.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.FileFilter;
    import flash.net.FileReference;
    import flash.net.URLRequest;

    public class FileReferenceExample extends Sprite {
        private var uploadURL:URLRequest;
        private var file:FileReference;

        public function FileReferenceExample() {
            uploadURL = new URLRequest();
            uploadURL.url = "http://www.[yourDomain].com/yourUploadHandlerScript.cfm";
            file = new FileReference();
            configureListeners(file);
            file.browse(getTypes());
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.CANCEL, cancelHandler);
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(Event.SELECT, selectHandler);
            dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
        }

        private function getTypes():Array {
            var allTypes:Array = new Array(getImageTypeFilter(), getTextTypeFilter());
            return allTypes;
        }

        private function getImageTypeFilter():FileFilter {
            return new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png");
        }

        private function getTextTypeFilter():FileFilter {
            return new FileFilter("Text Files (*.txt, *.rtf)", "*.txt;*.rtf");
        }

        private function cancelHandler(event:Event):void {
            trace("cancelHandler: " + event);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function uploadCompleteDataHandler(event:Event):void {
            trace("uploadCompleteData: " + event);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }
        
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            var file:FileReference = FileReference(event.target);
            trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function selectHandler(event:Event):void {
            var file:FileReference = FileReference(event.target);
            trace("selectHandler: name=" + file.name + " URL=" + uploadURL.url);
            file.upload(uploadURL);
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/net/FileReference.html