--- title: File slug: Web/API/File tags: - DOM - File translation_of: Web/API/File ---
{{APIRef}}

L’interface File fournit des informations sur des fichiers et permet au code JavaScript d’une une page web d’accéder à leurs contenus.

Les objets File sont généralements obtenus à partir de :

Dans Gecko, le code privilégié peut créer des objets File représentant tout fichier local sans nécessiter une interaction de l’utilisateur ou de l’utilisatrice (voir {{anch("Notes d’implémentation")}} pour plus d’informations.)

Un objet File est un genre spécifique de {{domxref("Blob")}}, et peut être utilisé dans tout contexte où un blob peut l’être. En particulier, {{domxref("FileReader")}}, {{domxref("URL.createObjectURL()")}}, {{domxref("ImageBitmapFactories.createImageBitmap()", "createImageBitmap()")}}, et {{domxref("XMLHttpRequest", "", "send()")}} acceptent indifféremment des Blobs et des Files.

Voir Utiliser des fichiers à partir d'applications web pour plus d’informations et des exemples.

{{InheritanceDiagram}}

Constructeur

{{domxref("File.File", "File()")}}
Renvoie un File nouvellement construit.

Propriétés

{{domxref("File.lastModified")}} {{readonlyinline}}
Renvoie le temps de dernière modification du fichier, exprimé en millisecondes écoulées depuis l’ère UNIX (1er janvier 1970 à minuit).
{{domxref("File.lastModifiedDate")}} {{readonlyinline}} {{deprecated_inline}} {{gecko_minversion_inline("15.0")}}
Renvoie la {{jsxref("Date")}} de dernière modification du fichier.
{{domxref("File.name")}} {{readonlyinline}}
Renvoie le nom du fichier.
{{domxref("File.webkitRelativePath")}} {{readonlyinline}} {{non-standard_inline}}
Renvoie le chemin auquel l’URL du {{domxref("File")}} est relative.

File implémente {{domxref("Blob")}}, et ainsi possède les propriétés suivantes :

{{domxref("File.size")}} {{readonlyinline}}
Renvoie la taille du fichier en octets.
{{domxref("File.type")}} {{readonlyinline}}
Renvoie le type MIMEdu fichier.

Méthodes

L’interface File ne définit aucune méthode, mais hérite des méthodes de l’interface {{domxref("Blob")}} :

{{domxref("Blob.slice()", "Blob.slice([start[, end[, contentType]]])")}}
Renvoie un nouvel objet Blob contenant les données du blob source comprises dans l’intervalle d’octets spécifié.
{{domxref("Blob.stream()", "Blob.stream()")}}
Transforme le File en un {{domxref("ReadableStream")}} pouvant être utilisé pour lire le contenu du File.
{{domxref("Blob.text()", "Blob.text()")}}
Transforme le File en un flux (stream) et le lit en entier. Renvoie une {{jsxref("promise", "promesse")}} qui se résoud en une {{domxref("USVString")}} (texte).
{{domxref("Blob.arrayBuffer()", "Blob.arrayBuffer()")}}
Transforme le File en un flux (stream) et le lit en entier. Retourne une {{jsxref("promise", "promesse")}} qui se résoud en un {{domxref("ArrayBuffer")}}.

Spécifications

Spécification Statut Commentaire
{{SpecName('File API')}} {{Spec2('File API')}} Définition initiale.

Compatibilité des navigateurs

{{Compat("api.File")}}

Notes d’implémentation

Voir aussi