Package | flash.net |
Classe | public class FileReference |
Héritage | FileReference EventDispatcher Object |
Sous-classes | File |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Remarque : dans Adobe AIR, la classe File, qui étend la classe FileReference, offre davantage de fonctionnalités et moins de restrictions de sécurité que la classe FileReference.
Les occurrences de FileReference sont créées de diverses manières :
- Lorsque vous utilisez l’opérateur
new
avec le constructeur FileReference :var myFileReference = new FileReference();
- Lorsque vous appelez la méthode
FileReferenceList.browse()
, ce qui crée un tableau d’objets FileReference.
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énement FileReference afin de déterminer si les opérations ont réussi, ou non, et pour traiter les erreurs.
Dans le cas de contenus s’exécutant dans Flash Player ou Adobe AIR hors du sandbox de sécurité de l’application, les opérations de chargement ou de téléchargement permettent d’accéder uniquement aux fichiers de leur propre domaine et de tous les domaines spécifiés par un fichier de régulation d’URL. Si le contenu 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.
Notez que lors de la publication dans Flash Player 10, les nouvelles fonctionnalités ajoutées au lecteur ne vous permettent d’exécuter qu’une seule opération à la fois : FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
ou FileReference.save()
. Dans le cas contraire, Flash Player renvoie une erreur d’exécution (code 2174). Utilisez FileReference.cancel()
pour arrêter une opération en cours. Cette restriction s’applique uniquement à Flash Player 10. Cette restriction sur l’exécution simultanée de plusieurs opérations ne s’applique pas aux versions précédentes de Flash Player.
Pendant l’exécution des appels aux méthodes FileReference.browse()
, FileReferenceList.browse()
ou FileReference.download()
, la lecture du fichier SWF s’interrompt dans les versions autonomes et externes de Flash Player et AIR pour Linux, et Mac OS X version 10.1 et 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=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" MyFile.jpg ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filedata"; filename="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=----------Ij5ae0ae0KM7GI3KM7 User-Agent: Shockwave Flash Host: www.example.com Content-Length: 421 Connection: Keep-Alive Cache-Control: no-cache ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Filename" 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="Filedata"; filename="MyFile.jpg" Content-Type: application/octet-stream FileDataHere ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7 Content-Disposition: form-data; name="Upload" Submit Query ------------Ij5GI3GI3ei4GI3ei4KM7GI3KM7KM7--
Informations complémentaires
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : 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, uniquement utilisé dans les versions Mac OS antérieures à Mac OS X. | FileReference | ||
data : ByteArray [lecture seule]
L’objet ByteArray représentant les données du fichier chargé après l’aboutissement d’un appel de la méthode load(). | FileReference | ||
extension : String [lecture seule]
Extension 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 | ||
permissionStatus : String [statique] [lecture seule]
Déterminez si l’application a été autorisée à accéder au système de fichiers. | FileReference | ||
size : Number [lecture seule]
Taille du fichier dans le disque local, en octets. | FileReference | ||
type : String [lecture seule]
Type de fichier. | FileReference |
Méthode | Défini par | ||
---|---|---|---|
Crée un nouvel objet FileReference. | FileReference | ||
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 | ||
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 | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Affiche une boîte de dialogue permettant à l’utilisateur de télécharger un fichier à partir d’un serveur distant. | FileReference | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
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 | ||
Démarre le chargement d’un fichier local sélectionné par un utilisateur. | FileReference | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Demande l’autorisation d’accès au système de fichiers. | FileReference | ||
Ouvre une boîte de dialogue qui permet à l’utilisateur d’enregistrer un fichier dans le système de fichiers local. | FileReference | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
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 du fichier sur un serveur distant. | FileReference | ||
Lance le chargement d’un fichier dans une URL sans aucun encodage. | FileReference | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
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énement | Synthèse | Défini par | ||
---|---|---|---|---|
[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active. | 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 | |||
[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive. | EventDispatcher | |||
Distribué si un appel de la méthode upload() ou uploadUnencoded() tente d’accéder aux données via HTTP, et si Adobe AIR est capable de détecter et de renvoyer le code d’état de la requête. | FileReference | |||
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é lorsque l’application demande l’autorisation d’accéder au système de fichiers. | 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 |
creationDate | propriété |
creationDate:Date
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Date de création du fichier dans le disque local. Si l’objet n’a pas été renseigné, l’appel effectué pour obtenir la valeur de cette propriété renvoie null
.
Remarque : Si un système d'exploitation ne comporte pas creationDate
comme propriété, dans ces cas, CreationDate
est égal à lastModifiedDate
.
Implémentation
public function get creationDate():Date
Valeur émise
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.
|
Eléments de l’API associés
creator | propriété |
creator:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Type de créateur Macintosh du fichier, uniquement utilisé dans les versions Mac OS antérieures à Mac OS X. Sous Windows ou Linux, 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
Valeur émise
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 .
|
Informations complémentaires
Eléments de l’API associés
data | propriété |
data:ByteArray
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
L’objet ByteArray représentant les données du fichier chargé après l’aboutissement d’un appel de la méthode load()
.
Implémentation
public function get data():ByteArray
Valeur émise
IllegalOperationError — Si l’appel de la méthode load() 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é data est null .
| |
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’entrée ou de sortie s’est produite dans le fichier est renvoyée. Dans ce cas, la valeur de la propriété data est null .
|
Informations complémentaires
Eléments de l’API associés
extension | propriété |
extension:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Extension du fichier.
L’extension d’un fichier correspond à la partie du nom qui suit le point final (« . »), sans inclure ce dernier. Si le nom du fichier ne comporte aucun point, l’extension est null
.
Remarque : vous devez utiliser la propriété extension
pour déterminer le type d’un fichier ; n’utilisez pas les propriétés creator
et type
. Ces propriétés
sont
en effet déconseillées, car elles s’appliquent à d’anciennes versions de Mac OS.
Implémentation
public function get extension():String
Valeur émise
IllegalOperationError — Si la référence n’est pas initialisée.
|
modificationDate | propriété |
modificationDate:Date
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, 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
Valeur émise
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.
|
Eléments de l’API associés
name | propriété |
name:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Nom du fichier dans le disque local. Si l’objet FileReference n’a pas été renseigné (via un appel valide à FileReference.download()
ou à FileReference.browse()
), Flash Player renvoie une erreur lorsque vous tentez d’obtenir la valeur de cette propriété.
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
Valeur émise
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é.
|
Eléments de l’API associés
permissionStatus | propriété |
size | propriété |
size:Number
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Taille du fichier dans le disque local, en octets.
Remarque : dans la version initiale d’ActionScript 3.0, la propriété size
était définie en tant qu’objet uint, qui prenait en charge des fichiers pouvant atteindre 4 Go. Elle est désormais désignée comme objet Number afin de prendre en charge des fichiers plus volumineux.
Implémentation
public function get size():Number
Valeur émise
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é.
| |
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’entrée ou de sortie s’est produite dans le fichier est renvoyée.
|
Eléments de l’API associés
type | propriété |
type:String
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Type de fichier.
Sous Windows ou Linux, cette propriété correspond à l’extension de fichier. Sous Macintosh, cette propriété correspond au type de fichier à quatre caractères, uniquement utilisé dans les versions de Mac OS antérieures à Mac OS X. Si l’objet FileReference n’a pas été renseigné, un appel permettant d’obtenir la valeur de cette propriété renvoie null
.
Sous Windows, Linux et Mac OS X, l’extension du fichier, c’est-à-dire la partie de la propriété name
qui suit la dernière occurrence du point (.), permet d’identifier le type de fichier.
Implémentation
public function get type():String
Valeur émise
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 .
|
Eléments de l’API associés
FileReference | () | Constructeur |
public function FileReference()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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.
Eléments de l’API associés
browse | () | méthode |
public function browse(typeFilter:Array = null):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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.
Remarque : la classe File, disponible dans Adobe AIR, comprend des méthodes permettant d’accéder à des boîtes de dialogue de sélection de systèmes de fichiers plus spécifiques. Ces méthodes sont les suivantes : File.browseForDirectory()
, File.browseForOpen()
, File.browseForOpenMultiple()
et File.browseForSave()
.
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.
Dans Flash Player 10 et Flash Player 9 Mise à jour 5, l’appel de cette méthode aboutit uniquement en réponse à un événement utilisateur (par exemple, un événement de type clic de souris ou pression de touche). Dans les autres cas, Flash Player renvoie une exception Error à l’appel de cette méthode.
Notez que lors de la publication dans Flash Player 10, les nouvelles fonctionnalités ajoutées au lecteur ne vous permettent d’exécuter qu’une seule opération à la fois : FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
ou FileReference.save()
. Dans le cas contraire, Flash Player renvoie une erreur d’exécution (code 2174). Utilisez FileReference.cancel()
pour arrêter une opération en cours. Cette restriction s’applique uniquement à Flash Player 10. Cette restriction sur l’exécution simultanée de plusieurs opérations ne s’applique pas aux versions précédentes de Flash Player.
Dans Adobe AIR, la boîte de dialogue de recherche de fichiers n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété owner
n’est pas nulle). Pour éviter des problèmes de classement de fenêtres, masquez les fenêtres possédées avant d’appeler cette méthode.
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, voir la classe FileFilter.
|
Boolean — Renvoie true si les paramètres sont valides et que la boîte de dialogue de recherche de fichiers est ouverte.
|
Evénements
select: — Distribué lorsque l’utilisateur sélectionne un élément dans la boîte de dialogue de recherche de fichiers.
| |
cancel: — Distribué lorsque l’utilisateur annule le chargement du fichier dans la fenêtre de recherche de fichiers.
|
Valeur émise
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, voir la classe FileFilter.
| |
Error — Si la méthode n’est pas appelée en réponse à l’action d’un utilisateur, notamment à un événement de type souris ou pression de touche.
|
Informations complémentaires
Eléments de l’API associés
cancel, événement
FileReference.download()
FileReferenceList.browse()
File.browseForDirectory()
File.browseForOpen()
File.browseForOpenMultiple()
File.browseForSave()
cancel | () | méthode |
public function cancel():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 |
Versions du moteur d’exécution: | AIR 1.0, 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 ; en revanche, le lecteur prend en charge des chargements ou des 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 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.
Vous ne pouvez pas vous connecter aux ports généralement réservés. Pour obtenir une liste complète des ports bloqués, voir la rubrique « Restriction des API de réseau » dans le Guide du développeur d’ActionScript 3.0.
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é de Flash Player :
- Les opérations de chargement sont interdites si le fichier SWF appelant se trouve dans un sandbox local non approuvé.
- Par défaut, l’accès entre les sandbox est refusé. Un site Web peut autoriser l’accès à une ressource en ajoutant un fichier de régulation d’URL.
- Vous pouvez empêcher un fichier SWF d’utiliser cette méthode en définissant le paramètre
allowNetworking
des balisesobject
etembed
dans la page HTML qui comporte le contenu SWF. - Dans Flash Player 10 et Flash Player 9 Mise à jour 5, l’appel de cette méthode aboutit uniquement en réponse à un événement utilisateur (par exemple, un événement de type clic de souris ou pression de touche). Dans les autres cas, Flash Player renvoie une exception Error à l’appel de cette méthode.
Néanmoins, dans Adobe AIR, le contenu du sandbox de sécurité de l’application
(contenu installé avec l’application AIR) n’est pas soumis à ces restrictions de sécurité.
Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).
Lorsque vous téléchargez un fichier à l’aide de cette méthode, il est alors marqué comme téléchargé sur les systèmes d’exploitation qui marquent les fichiers téléchargés :
- Windows XP Service Pack 2 et versions ultérieures, et Windows Vista
- Mac OS 10.5 et versions ultérieures
Certains systèmes d’exploitation, tels que Linux, ne marquent pas les fichiers téléchargés.
Notez que lors de la publication dans Flash Player 10, les nouvelles fonctionnalités ajoutées au lecteur ne vous permettent d’exécuter qu’une seule opération à la fois : FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
ou FileReference.save()
. Dans le cas contraire, Flash Player renvoie une erreur d’exécution (code 2174). Utilisez FileReference.cancel()
pour arrêter une opération en cours. Cette restriction s’applique uniquement à Flash Player 10. Cette restriction sur l’exécution simultanée de plusieurs opérations ne s’applique pas aux versions précédentes de Flash Player.
Dans Adobe AIR, la boîte de dialogue de téléchargement n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété owner
n’est pas nulle). Pour éviter des problèmes de classement de fenêtres, masquez les fenêtres possédées avant d’appeler cette méthode.
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. La propriété requestHeaders de l’objet URLRequest est ignorée ; les en-têtes de requête HTTP personnalisés ne sont pas pris en charge dans les chargements et les téléchargements. 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: — Distribué lors du démarrage d’une opération de téléchargement.
| |
progress: — Distribué régulièrement pendant le téléchargement du fichier.
| |
complete: — Distribué en cas de réussite de l’opération de téléchargement.
| |
cancel: — Distribué lorsque l’utilisateur ferme la boîte de dialogue.
| |
select: — Distribué lorsque l’utilisateur sélectionne un fichier à télécharger dans la boîte de dialogue.
| |
securityError: — Distribué lorsqu’un téléchargement échoue en raison d’une erreur de sécurité.
| |
ioError: — Distribué pour l’une des raisons suivantes :
|
Valeur émise
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 — Tout contenu non approuvé au niveau local ne peut 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.
| |
SecurityError — Vous ne pouvez pas vous connecter aux ports généralement réservés. Pour obtenir une liste complète des ports bloqués, voir la rubrique « Restriction des API de réseau » dans le Guide du développeur d’ActionScript 3.0.
| |
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 .
| |
Error — Si la méthode n’est pas appelée en réponse à l’action d’un utilisateur, notamment à un événement de type souris ou pression de touche.
|
Informations complémentaires
Eléments de l’API associés
FileReference.browse()
FileReferenceList.browse()
FileReference.upload()
FileReference.save()
Exemple ( Comment utiliser cet exemple )
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); } } }
load | () | méthode |
public function load():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Démarre le chargement d’un fichier local sélectionné par un utilisateur. Flash Player n’impose pas de restrictions au niveau de la taille des fichiers chargés, téléchargés ou enregistrés, mais officiellement prend en charge des tailles de 100 Mo au maximum. Pour le contenu s’exécutant dans Flash Player, vous devez appeler la méthode FileReference.browse()
ou FileReferenceList.browse()
avant d’appeler la méthode load()
. Néanmoins, le contenu exécuté dans AIR dans le sandbox de l’application peut appeler la méthode load()
d’un objet File sans appeler au préalable la méthode browse()
(la classe File d’AIR étend la classe FileReference).
Les écouteurs reçoivent des événements indiquant la progression du chargement, ainsi que sa réussite ou son échec. Bien que vous puissiez utiliser l’objet FileReferenceList permettant aux utilisateurs un choix multiple de fichiers à charger, vous devez charger les fichiers un par un. Pour charger les fichiers un par un, parcourez en boucle le tableau FileReferenceList.fileList
des objets FileReference.
Adobe AIR comprend également la classe FileStream, qui propose davantage d’options de lecture de fichiers.
Les fonctions FileReference.upload()
, FileReference.download()
, FileReference.load()
et FileReference.save()
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, toute transaction qui n’est pas encore terminée sur cet objet est annulée à ce moment-là. Veillez à ce que l’objet FileReference demeure dans son domaine pendant toute la durée prévue du chargement, téléchargement ou enregistrement.
Si le téléchargement du fichier aboutit, son contenu est stocké en tant que tableau d’octets dans la propriété data
de l’objet FileReference.
Il faut tenir compte des considérations de sécurité suivantes :
- Les opérations de chargement sont interdites si le fichier SWF appelant se trouve dans un sandbox local non approuvé.
- Par défaut, l’accès entre les sandbox est refusé. Un site Web peut autoriser l’accès à une ressource en ajoutant un fichier de régulation interdomaines.
- Vous pouvez empêcher un fichier d’utiliser cette méthode en définissant le paramètre
allowNetworking
des balisesobject
etembed
dans la page HTML qui comporte le contenu SWF.
Toutefois, ces considérations ne s’appliquent pas au contenu AIR dans le sandbox de l’application.
Notez que lors de la publication dans Flash Player 10 ou AIR 1.5, une seule des opérations suivantes peut être exécutée à la fois : FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
, FileReference.save()
. Dans le cas contraire, l’application renvoie une erreur d’exécution (code 2174). Utilisez FileReference.cancel()
pour arrêter une opération en cours. Cette restriction s’applique uniquement à Flash Player 10 et AIR 1.5. Les versions antérieures de Flash Player ou AIR ne sont pas concernées par cette restriction sur l’exécution simultanée de plusieurs opérations.
Dans Adobe AIR, la boîte de dialogue de recherche de fichiers n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété owner
n’est pas nulle). Pour éviter des problèmes de classement de fenêtres, masquez les fenêtres possédées avant d’appeler cette méthode.
Evénements
open: — Distribué lors du démarrage d’une opération de chargement.
| |
progress: — Distribué régulièrement pendant le chargement du fichier.
| |
complete: — Distribué lorsque l’opération de chargement de fichier aboutit.
| |
ioError: — Invoqué si le chargement échoue du fait d’une erreur d’entrée/sortie lors de la lecture ou de l’écriture du fichier par l’application.
|
Valeur émise
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.
| |
MemoryError — Cette erreur peut se produire si l’application ne peut pas allouer de mémoire pour le fichier. Le fichier peut être trop volumineux ou la quantité de mémoire disponible insuffisante.
|
Informations complémentaires
Eléments de l’API associés
FileReferenceList.browse()
FileReference.data
FileReferenceList.fileList
FileReference.save()
FileStream
Exemple ( Comment utiliser cet exemple )
var buttonShape:Shape = new Shape(); buttonShape.graphics.beginFill(0x336699); buttonShape.graphics.drawCircle(50, 50, 25); var button = new SimpleButton(buttonShape, buttonShape, buttonShape, buttonShape); addChild(button); var fileRef:FileReference= new FileReference(); button.addEventListener(MouseEvent.CLICK, onButtonClick); function onButtonClick(e:MouseEvent):void { fileRef.browse([new FileFilter("Images", "*.jpg;*.gif;*.png")]); fileRef.addEventListener(Event.SELECT, onFileSelected); } function onFileSelected(e:Event):void { fileRef.addEventListener(Event.COMPLETE, onFileLoaded); fileRef.load(); } function onFileLoaded(e:Event):void { var loader:Loader = new Loader(); loader.loadBytes(e.target.data); addChild(loader); }
requestPermission | () | méthode |
public function requestPermission():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 24.0 |
Demande l’autorisation d’accès au système de fichiers.
Evénements
PermissionStatus: — distribué lorsque l’autorisation demandée est accordée/refusée par l’utilisateur.
|
save | () | méthode |
public function save(data:*, defaultFileName:String = null):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Ouvre une boîte de dialogue qui permet à l’utilisateur d’enregistrer un fichier dans le système de fichiers local. Flash Player n’impose pas de restrictions au niveau de la taille des fichiers chargés, téléchargés ou enregistrés, mais officiellement le lecteur prend en charge des tailles de 100 Mo au maximum.
La méthode save()
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ù l’enregistrer dans l’ordinateur local. Lorsque l’utilisateur sélectionne un emplacement et confirme l’enregistrement (par exemple en cliquant sur Enregistrer), le processus d’enregistrement commence. Les écouteurs reçoivent des événements indiquant la progression de l’enregistrement, ainsi que sa réussite ou son échec. Pour déterminer l’état de la boîte de dialogue et de l’opération d’enregistrement après avoir appelé la méthode save()
, votre code doit écouter les événements tels que cancel
, open
, progress
et complete
.
Adobe AIR comprend également la classe FileStream, qui propose davantage d’options d’enregistrement de fichiers au niveau local.
Les fonctions FileReference.upload()
, FileReference.download()
, FileReference.load()
et FileReference.save()
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, toute transaction qui n’est pas encore terminée sur cet objet est annulée à ce moment-là. Veillez à ce que l’objet FileReference demeure dans son domaine pendant toute la durée prévue du chargement, téléchargement ou enregistrement.
Une fois le fichier enregistré, les propriétés de l’objet FileReference sont renseignées avec les propriétés du fichier local. L’événement complete
est distribué si l’enregistrement aboutit.
Une seule session browse()
ou save()
peut être effectuée à la fois (car une seule boîte de dialogue peut être appelée à la fois).
Dans Flash Player, l’appel de cette méthode aboutit uniquement en réponse à un événement utilisateur (par exemple, un événement de type clic de souris ou pression de touche). Dans les autres cas, Flash Player renvoie une exception Error à l’appel de cette méthode. Le contenu AIR s’exécutant dans le sandbox de l’application n’est pas soumis à cette restriction.
Dans Adobe AIR, la boîte de dialogue d’enregistrement n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété owner
n’est pas nulle). Pour éviter des problèmes de classement de fenêtres, masquez les fenêtres possédées avant d’appeler cette méthode.
Paramètres
data:* — Données à enregistrer. Les données peuvent être de divers formats et sont traitées de façon appropriée :
| |
defaultFileName:String (default = null ) — Nom de fichier par défaut affiché dans la boîte de dialogue pour le fichier à enregistrer. Les caractères suivants sont interdits dans cette chaîne : / \ : * ? " < > | %
Si un objet File appelle cette méthode, le nom de fichier correspond à celui du fichier auquel l’objet File fait référence. (la classe File d’AIR étend la classe FileReference). |
Evénements
open: — Distribué lors du démarrage d’une opération de téléchargement.
| |
progress: — Distribué régulièrement pendant le téléchargement du fichier.
| |
complete: — Distribué en cas de réussite de l’opération de téléchargement.
| |
cancel: — Distribué lorsque l’utilisateur ferme la boîte de dialogue.
| |
select: — Distribué lorsque l’utilisateur sélectionne un fichier à télécharger dans la boîte de dialogue.
| |
ioError: — Distribué si une erreur d’entrée/sortie se produit pendant la lecture ou la transmission du fichier.
|
Valeur émise
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) Le nom de fichier à télécharger contient des caractères interdits. 3) Un paramètre du fichier mms.cfg de l’utilisateur bloque cette opération.
| |
ArgumentError — Si data n’est pas de type ByteArray et ne dispose pas d’une méthode toString() , une exception est renvoyée. Si data n’est pas de type XML et ne dispose pas d’une méthode toXMLString() , une exception est renvoyée.
| |
Error — Si la méthode n’est pas appelée en réponse à l’action d’un utilisateur, notamment à un événement de type souris ou pression de touche.
| |
MemoryError — Cette erreur peut se produire si Flash Player ne peut pas allouer de la mémoire pour le fichier. Le fichier peut être trop volumineux ou la quantité de mémoire disponible insuffisante.
|
Informations complémentaires
Eléments de l’API associés
FileReference.load()
FileReference.data
FileReference.upload()
FileReference.download()
FileStream
Exemple ( Comment utiliser cet exemple )
MyTextField
) et un autre champ de texte non modifiable (MyButtonField
) pour servir de « bouton » afin de répondre à un clic de souris. L’utilisateur peut modifier le premier champ de texte et cliquer sur le bouton pour enregistrer le contenu du champ de texte dans un fichier local. Le gestionnaire d’événement de type clip de souris clickhandler
utilise la méthode FileReference.save(),
(pour un objet FileReference appelé MyFileReference
) pour ouvrir une boîte de dialogue sur le système d’exploitation de l’utilisateur afin que ce dernier puisse enregistrer le contenu dans un fichier local avec le nom attribué.
var MyTextField:TextField = new TextField(); var MyButtonField:TextField = new TextField(); var MyFile:FileReference = new FileReference(); MyTextField.border = true; MyTextField.type = TextFieldType.INPUT; MyButtonField.background = true; MyButtonField.backgroundColor = 0x339933; MyButtonField.x = 150; MyButtonField.height = 20; MyButtonField.text = "Click here to save"; addChild(MyTextField); addChild(MyButtonField); MyButtonField.addEventListener(MouseEvent.CLICK, clickhandler); function clickhandler(e:MouseEvent): void { MyFile.save(MyTextField.text); }
upload | () | méthode |
public function upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Procède au chargement du fichier 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 ; en revanche, 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.
Pour la classe File d’Adobe AIR, qui étend la classe FileReference, vous pouvez utiliser la méthode upload()
pour charger n’importe quel fichier. Pour la classe FileReference (utilisée dans Flash Player), l’utilisateur doit tout d’abord sélectionner un fichier.
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 :
Content-Type
demultipart/form-data
- Un élément
Content-Disposition
avec un attributname
défini surFiledata
par défaut etfilename
réglé sur le nom du fichier d’origine - Le contenu binaire du fichier
Vous ne pouvez pas vous connecter aux ports généralement réservés. Pour obtenir une liste complète des ports bloqués, voir la rubrique « Restriction des API de réseau » dans le Guide du développeur d’ActionScript 3.0.
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 du modèle de sécurité de Flash Player :
- Les opérations de chargement sont interdites si le fichier SWF appelant se trouve dans un sandbox local non approuvé.
- Par défaut, l’accès entre les sandbox est refusé. Un site Web peut autoriser l’accès à une ressource en ajoutant un fichier de régulation d’URL.
- Vous pouvez empêcher un fichier SWF d’utiliser cette méthode en définissant le paramètre
allowNetworking
des balisesobject
etembed
dans la page HTML qui comporte le contenu SWF.
Néanmoins, dans Adobe AIR, le contenu du sandbox de sécurité application
(contenu installé avec l’application AIR) n’est pas soumis à ces restrictions de sécurité.
Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).
Notez que lors de la publication dans Flash Player 10, les nouvelles fonctionnalités ajoutées au lecteur ne vous permettent d’exécuter qu’une seule opération à la fois : FileReference.browse()
, FileReference.upload()
, FileReference.download()
, FileReference.load()
ou FileReference.save()
. Dans le cas contraire, Flash Player renvoie une erreur d’exécution (code 2174). Utilisez FileReference.cancel()
pour arrêter une opération en cours. Cette restriction s’applique uniquement à Flash Player 10. Cette restriction sur l’exécution simultanée de plusieurs opérations ne s’applique pas aux versions précédentes de Flash Player.
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. La propriété requestHeaders de l’objet URLRequest est ignorée ; les en-têtes de requête HTTP personnalisés ne sont pas pris en charge dans les chargements et les téléchargements.
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 Pour envoyer des paramètres | |
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: — Distribué lors du démarrage d’une opération de chargement.
| |
progress: — Distribué régulièrement pendant l’opération de chargement de fichier.
| |
complete: — Distribué en cas de réussite de l’opération de chargement.
| |
uploadCompleteData: — Distribué après réception des données par le serveur suite à un chargement de fichier réussi.
| |
securityError: — Distribué lorsqu’un chargement échoue en raison d’une violation de la sécurité.
| |
httpStatus: — Distribué lorsqu’un chargement échoue en raison d’une erreur HTTP.
| |
httpResponseStatus: — L’opération de chargement aboutit et le serveur renvoie une URL de réponse, ainsi que des en-têtes de réponse.
| |
ioError: — Invoqué dans l’un des cas suivants :
|
Valeur émise
SecurityError — Les fichiers SWF non approuvés au niveau local 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.
| |
SecurityError — Vous ne pouvez pas vous connecter aux ports généralement réservés. Pour obtenir une liste complète des ports bloqués, voir la rubrique « Restriction des API de réseau » dans le Guide du développeur d’ActionScript 3.0.
| |
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() , le paramètre url.data peut uniquement être de type URLVariables ou String. 3) Dans le moteur d’exécution AIR (sandbox de sécurité de l’application), la méthode de l’objet URLRequest n’est ni GET ni POST (utilisez plutôt uploadEncoded() ).
| |
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 .
|
Informations complémentaires
Eléments de l’API associés
uploadUnencoded | () | méthode |
public function uploadUnencoded(request:URLRequest):void
Versions du moteur d’exécution: | AIR 1.0 |
Lance le chargement d’un fichier dans une URL sans aucun encodage. Tandis que la méthode upload()
convertit le fichier en enveloppe de données de formulaire, la méthode uploadUnencoded()
transmet le contenu du fichier tel quel dans le corps de la requête HTTP. Utilisez la méthode uploadUnencoded() si les données que vous souhaitez envoyer sont déjà codées dans un format pris en charge par le serveur de réception. En règle générale, la méthode uploadeUnencoded()
est utilisée avec la méthode HTTP/WebDAV PUT
.
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 Pour envoyer des paramètres |
Evénements
open: — Distribué lors du démarrage d’une opération de chargement.
| |
progress: — Distribué régulièrement pendant l’opération de chargement de fichier.
| |
complete: — Distribué en cas de réussite de l’opération de chargement.
| |
uploadCompleteData: — Distribué après réception des données par le serveur suite à un chargement de fichier réussi.
| |
securityError: — Distribué lorsqu’un chargement échoue en raison d’une violation de la sécurité.
| |
httpStatus: — Distribué lorsqu’un chargement échoue en raison d’une erreur HTTP.
| |
httpResponseStatus: — L’opération de chargement aboutit et le serveur renvoie une URL de réponse, ainsi que des en-têtes de réponse.
| |
ioError: — Invoqué dans l’un des cas suivants :
|
Valeur émise
SecurityError — Les fichiers SWF non approuvés au niveau local 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. Le chargement des fichiers doit se faire via HTTP.
|
Eléments de l’API associés
cancel | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.CANCEL
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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).
La constanteEvent.CANCEL
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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Référence à l’objet pour lequel l’opération est annulée. |
Exemple ( Comment utiliser cet exemple )
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 |
flash.events.Event
propriété Event.type =
flash.events.Event.COMPLETE
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 ou Adobe AIR 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 ou Adobe AIR reçoit le code d’état HTTP 200 du serveur recevant la transmission.
La constanteEvent.COMPLETE
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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet réseau dont le chargement est terminé. |
Exemple ( Comment utiliser cet exemple )
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); } } }
Eléments de l’API associés
httpResponseStatus | Evénement |
flash.events.HTTPStatusEvent
propriété HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, AIR 1.0 |
Distribué si un appel de la méthode upload()
ou uploadUnencoded()
tente d’accéder aux données via HTTP, et si Adobe AIR est capable de détecter et de renvoyer le code d’état de la requête.
httpStatus
, l’événement httpResponseStatus
est renvoyé avant toute donnée de réponse. De plus, l’événement httpResponseStatus
inclut des valeurs pour les propriétés responseHeaders
et responseURL
(qui ne sont pas définies pour un événement httpStatus
. Notez que httpResponseStatus
(le cas échéant) est envoyé avant (et en complément de) tout événement complete
ou error
.
La constante HTTPStatusEvent.HTTP_RESPONSE_STATUS
définit la valeur de la propriété type
d’un objet événement httpResponseStatus
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
responseURL | L’URL de laquelle la réponse a été renvoyée. |
responseHeaders | Les en-têtes de réponse que la réponse a renvoyés, sous la forme d’un tableau d’objets URLRequestHeader. |
status | Le code d’état HTTP renvoyé par le serveur. |
redirected | Indique si la réponse est le résultat d’une redirection. |
target | L’objet réseau recevant un code d’état HTTP. |
Eléments de l’API associés
httpStatus | Evénement |
flash.events.HTTPStatusEvent
propriété HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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. Dans le cas de contenu s’exécutant dans Flash Player, cet événement ne s’applique pas 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.
HTTPStatusEvent.HTTP_STATUS
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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
status | Le code d’état HTTP renvoyé par le serveur. |
target | L’objet réseau recevant un code d’état HTTP. |
Eléments de l’API associés
ioError | Evénement |
flash.events.IOErrorEvent
propriété IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 :
- Une erreur d’entrée/sortie se produit lors de la lecture, l’écriture ou la transmission du fichier.
- Le fichier SWF tente de charger un fichier sur un serveur nécessitant une authentification (un nom d’utilisateur et un mot de passe, par exemple). Au cours du chargement, Flash Player ou Adobe AIR ne permet pas aux utilisateurs d’entrer des mots de passe. Si un fichier SWF tente de charger un fichier vers un serveur nécessitant une authentification, le chargement échoue.
- 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, ainsi que dans le moteur d’exécution Adobe AIR.
- La valeur transmise au paramètre
url
dans la méthodeupload()
contient un protocole non valide. Les protocoles valides sont HTTP et HTTPS.
Important : seules les applications s’exécutant dans un navigateur (via le module de navigation ou le contrôle ActiveX), ainsi que le contenu s’exécutant dans Adobe AIR, 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 de Flash Player, 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 d’événement ioError
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
errorID | Un numéro de référence associé à l’erreur spécifique (AIR uniquement). |
target | Objet réseau sur lequel l’erreur d’entrée/sortie s’est produite. |
text | Texte à afficher en tant que message d’erreur. |
Eléments de l’API associés
open | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.OPEN
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Distribué au début d’une opération de chargement ou de téléchargement.
La constanteEvent.OPEN
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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet réseau qui a ouvert une connexion. |
Exemple ( Comment utiliser cet exemple )
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); } } }
Eléments de l’API associés
permissionStatus | Evénement |
flash.events.PermissionEvent
propriété PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 24.0 |
Distribué lorsque l’application demande l’autorisation d’accéder au système de fichiers. Vérifiez la valeur de la propriété status
pour déterminer si l’autorisation a été accordée ou refusée.
Eléments de l’API associés
progress | Evénement |
flash.events.ProgressEvent
propriété ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 plateformes 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.
type
d’un objet événement progress
.
Les propriétés de cet événement sont les suivantes :
Propriété | Valeur |
---|---|
bubbles | false |
bytesLoaded | Nombre d’éléments ou d’octets chargés lors du traitement de l’événement par l’écouteur. |
bytesTotal | Nombre total d’éléments ou d’octets qui seront chargés si le processus de chargement aboutit. |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet indiquant la progression. |
Exemple ( Comment utiliser cet exemple )
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); } } }
Eléments de l’API associés
securityError | Evénement |
flash.events.SecurityErrorEvent
propriété SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 à l’aide d’un fichier de régulation d’URL.
Dans Adobe AIR, le contenu du sandbox de sécurité de l’application n’est pas soumis à ces restrictions de sécurité.
Dans Adobe AIR, le contenu du sandbox de sécurité de l’application n’est pas soumis à ces restrictions de sécurité.
La constanteSecurityErrorEvent.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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet réseau signalant l’erreur de sécurité |
text | Texte à afficher en tant que message d’erreur. |
Eléments de l’API associés
select | Evénement |
flash.events.Event
propriété Event.type =
flash.events.Event.SELECT
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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.
Dans le cas de contenu s’exécutant dans Flash Player ou hors du sandbox de sécurité de l’application dans le moteur d’exécution Adobe AIR, 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 ou l’application AIR 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 ou l’application AIR 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. Une fois le fichier téléchargé et l’événement complete
distribué, Flash Player ou l’application AIR peut lire toutes les autres propriétés de l’objet FileReference.
Event.SELECT
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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet sur lequel un élément a été sélectionné. |
Exemple ( Comment utiliser cet exemple )
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.[votreDomaine].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 |
flash.events.DataEvent
propriété DataEvent.type =
flash.events.DataEvent.UPLOAD_COMPLETE_DATA
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, 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 |
---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
data | Les données brutes sont renvoyées par le serveur après le chargement réussi d’un fichier. |
target | Objet FileReference qui reçoit les données après un chargement réussi. |
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:DataEvent):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); } } }
Tue Jun 12 2018, 09:30 AM Z