L'objet FileReader permet à des applications web de lire le contenu de fichiers (ou de tampons de mémoire brute) de façon asynchrone. On peut ainsi lire le contenu des objets File ou Blob (qui représentent respectivement un fichier ou des données).

Les objets qui sont des fichiers peuvent être obtenus à partir 'un objet FileList, renvoyé lorsque l'utilisateur sélectionne des fichiers grâce à un élément <input>, via un glisser-déposer avec un objet DataTransfer ou grâce à l'API mozGetAsFile() API de HTMLCanvasElement.

Note : Cette fonctionnalité est disponible via les Web Workers.

Constructeur

FileReader()
Ce constructeur renvoie un nouvel objet FileReader.

Pour plus d'informations et d'exemples, consulter utiliser des fichiers depuis des applications web.

Propriétés

FileReader.error Lecture seule
Un objet DOMError qui représente l'erreur qui s'est produite lors de la lecture du fichier.
FileReader.readyState Lecture seule
Un nombre qui indique l'état du FileReader. Cette valeur est l'une des suivantes :
EMPTY 0 Aucune donnée n'a encore été chargée.
LOADING 1 Des données sont en cours de chargement.
DONE 2 La demande de lecture est complètement terminée.
FileReader.result Lecture seule
Le contenu du fichier. Cette propriété est uniquement valide lorsque l'opération de lecture est terminée et le format des données dépend de la méthode utilise pour l'opération de lecture.

Gestionnaire d'évènements

FileReader.onabort
Un gestionnaire pour l'évènement abort. Cet évènement est déclenché à chaque fois que l'opération de lecture est interrompue.
FileReader.onerror
Un gestionnaire pour l'évènement error. Cet évènement est déclenché à chaque fois qu'il y a une erreur pendant l'opération de lecture.
FileReader.onload
Un gestionnaire pour l'évènement load. Cet évènement est déclenché à chaque fois qu'une opération de lecture est menée à bien.
FileReader.onloadstart
Un gestionnaire pour l'évènement loadstart. Cet évènement est déclenché chaque fois qu'une opération de lecture commence.
FileReader.onloadend
Un gestionnaire pour l'évènement loadend. Cet évènement est déclenché chaque fois qu'une opération de lecture est terminée (que ce soit un succès ou un échec).
FileReader.onprogress
Un gestionnaire pour l'évènement progress. Cet évènement est déclenché lorsque la lecture du Blob est en cours.

Note : FileReader hérite de l'interface EventTarget et tout ces évènements peuvent donc être « écoutés » grâce à la méthode addEventListener.

Méthodes

FileReader.abort()
Cette méthode interrompt l'opération de lecture. Après avoir renvoyé une valeur, l'état readyState aura la valeur DONE.
FileReader.readAsArrayBuffer()
Cette méthode démarre la lecture du contenu pour le blob indiqué. Une fois que la lecture est terminée, l'attribut result contient un objet ArrayBuffer représentant les données du fichier.
FileReader.readAsBinaryString()
Cette méthode démarre la lecture du contenu pour le blob indiqué. Une fois que la lecture est terminée, l'attribut result contient les données binaires brutes sous la forme d'une chaîne de caractères.
FileReader.readAsDataURL()
Cette méthode démarre la lecture du contenu pour le blob indiqué. Une fois que la lecture est terminée, l'attribut result contient une URL de données qui représente les données du fichier.
FileReader.readAsText()
Cette méthode démarre la lecture du contenu pour le blob indiqué. Une fois la lecture terminée, l'attribut result contient les données du fichier sous la forme d'une chaîne de caractères.

Spécifications

Spécification État Commentaires
File API
La définition de 'FileReader' dans cette spécification.
Version de travail Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Firefox (Gecko) Chrome Edge Internet Explorer Opera Safari
Support simple 3.6 (1.9.2)[1] 7 (Oui) 10[2] 12.02[3] 6.0
Disponible dans les web workers 46 (46) (Oui) (Oui) Pas de support (Oui) Pas de support
Feature Firefox Mobile (Gecko) Android Edge IE Mobile Opera Mobile Safari Mobile
Support simple 32 3 (Oui) 10 11.5 6.1
Disponible dans les web workers 46 (46) (Oui) (Oui) Pas de support (Oui) Pas de support

[1] Avant Gecko 2.0 beta 7 (Firefox 4.0 beta 7), tous les paramètres Blob étaient considérés comme des paramètres File. Cela a été mis à jour afin de correspondre à la spécification. Avant Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10), la propriété FileReader.error était un objet FileError. Cette interface a été supprimée et FileReader.error correspond désormais à un objet DOMError tel que défini dans le dernier brouillon de spécification de l'API FileAPI.

[2] IE9 dispose d'un Lab File API.

[3] Opera implémente partiellement cette fonctionnalité dans la version 11.1.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Dernière mise à jour par : SphinxKnight,