--- title: File slug: Web/API/File tags: - DOM - File translation_of: Web/API/File ---
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 :
mozGetAsFile() de l’élément {{domxref("HTMLCanvasElement")}}.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}}
File nouvellement construit.File implémente {{domxref("Blob")}}, et ainsi possède les propriétés suivantes :
L’interface File ne définit aucune méthode, mais hérite des méthodes de l’interface {{domxref("Blob")}} :
Blob contenant les données du blob source comprises dans l’intervalle d’octets spécifié.File en un {{domxref("ReadableStream")}} pouvant être utilisé pour lire le contenu du File.File en un flux (stream) et le lit en entier. Renvoie une {{jsxref("promise", "promesse")}} qui se résoud en une {{domxref("USVString")}} (texte).File en un flux (stream) et le lit en entier. Retourne une {{jsxref("promise", "promesse")}} qui se résoud en un {{domxref("ArrayBuffer")}}.| Spécification | Statut | Commentaire |
|---|---|---|
| {{SpecName('File API')}} | {{Spec2('File API')}} | Définition initiale. |
{{Compat("api.File")}}
Cu.importGlobalProperties(['File']);File pour spécifier le fichier à référencer.new File pour créer des objets File depuis des composants XPCOM au lieu de devoir instancier les objets {{interface("nsIDOMFile")}} directement. Contrairement à {{domxref("Blob")}}, le constructeur prend le nom de fichier comme second argument. Le nom de fichier peut être une chaîne quelconque.
new File( Array parts, String filename, BlobPropertyBag properties );