--- title: FileReader slug: Web/API/FileReader tags: - API - File - Interface - Référence(2) translation_of: Web/API/FileReader ---
{{APIRef("File API")}}

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 {{domxref("File")}} ou {{domxref("Blob")}} (qui représentent respectivement un fichier ou des données).

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

{{AvailableInWorkers}}

Constructeur

{{domxref("FileReader.FileReader", "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

{{domxref("FileReader.error")}} {{readonlyinline}}
Un objet {{domxref("DOMError")}} qui représente l'erreur qui s'est produite lors de la lecture du fichier.
{{domxref("FileReader.readyState")}} {{readonlyinline}}
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.
{{domxref("FileReader.result")}} {{readonlyinline}}
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 utilisée pour l'opération de lecture.

Gestionnaire d'évènements

{{domxref("FileReader.onabort")}}
Un gestionnaire pour l'évènement {{event("abort")}}. Cet évènement est déclenché à chaque fois que l'opération de lecture est interrompue.
{{domxref("FileReader.onerror")}}
Un gestionnaire pour l'évènement {{event("error")}}. Cet évènement est déclenché à chaque fois qu'il y a une erreur pendant l'opération de lecture.
{{domxref("FileReader.onload")}}
Un gestionnaire pour l'évènement {{event("load")}}. Cet évènement est déclenché à chaque fois qu'une opération de lecture est menée à bien.
{{domxref("FileReader.onloadstart")}}
Un gestionnaire pour l'évènement {{event("loadstart")}}. Cet évènement est déclenché chaque fois qu'une opération de lecture commence.
{{domxref("FileReader.onloadend")}}
Un gestionnaire pour l'évènement {{event("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).
{{domxref("FileReader.onprogress")}}
Un gestionnaire pour l'évènement {{event("progress")}}. Cet évènement est déclenché lorsque la lecture du {{domxref("Blob")}} est en cours.

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

Méthodes

{{domxref("FileReader.abort()")}}
Cette méthode interrompt l'opération de lecture. Après avoir renvoyé une valeur, l'état readyState aura la valeur DONE.
{{domxref("FileReader.readAsArrayBuffer()")}} {{gecko_minversion_inline("7.0")}}
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 {{domxref("ArrayBuffer")}} représentant les données du fichier.
{{domxref("FileReader.readAsBinaryString()")}} {{non-standard_inline}}
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.
{{domxref("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.
{{domxref("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
{{SpecName("File API", "#dfn-filereader", "FileReader")}} {{Spec2("File API")}} Définition initiale.

Compatibilité des navigateurs

{{CompatibilityTable}}

Fonctionnalité Firefox (Gecko) Chrome Edge Internet Explorer Opera Safari
Support simple {{CompatGeckoDesktop("1.9.2")}}[1] 7 {{CompatVersionUnknown}} 10[2] 12.02[3] 6.0
Disponible dans les web workers {{CompatGeckoDesktop(46)}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatNo}}
Feature Firefox Mobile (Gecko) Android Edge IE Mobile Opera Mobile Safari Mobile
Support simple 32 3 {{CompatVersionUnknown}} 10 11.5 6.1
Disponible dans les web workers {{CompatGeckoDesktop(46)}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatNo}}

[1] Avant Gecko 2.0 beta 7 (Firefox 4.0 beta 7), tous les paramètres {{domxref("Blob")}} étaient considérés comme des paramètres {{domxref("File")}}. Cela a été mis à jour afin de correspondre à la spécification. Avant Gecko 13.0 {{geckoRelease("13.0")}}, la propriété FileReader.error était un objet {{domxref("FileError")}}. Cette interface a été supprimée et FileReader.error correspond désormais à un objet {{domxref("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