File
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
L'interface File
fournit des informations sur des fichiers et permet au code JavaScript d'une page web d'accéder à leurs contenus.
Les objets File
sont généralements obtenus à partir de :
- l'objet
FileList
retourné lorsque qu'un utilisateur ou une utilisatrice sélectionne des fichiers grâce à un élément<input>
; - l'objet
DataTransfer
d'une opération de glisser-déposer ; - l'API
mozGetAsFile()
de l'élémentHTMLCanvasElement
.
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 Notes d'implémentation pour plus d'informations.)
Un objet File
est un genre spécifique de Blob
, et peut être utilisé dans tout contexte où un blob peut l'être. En particulier, FileReader
, URL.createObjectURL()
, createImageBitmap()
, et XMLHttpRequest.send()
acceptent indifféremment des Blob
s et des File
s.
Voir Utiliser des fichiers à partir d'applications web pour plus d'informations et des exemples.
Constructeur
File()
-
Renvoie un
File
nouvellement construit.
Propriétés
File.lastModified
Lecture seule-
Renvoie le temps de dernière modification du fichier, exprimé en millisecondes écoulées depuis l'ère UNIX (1er janvier 1970 à minuit).
File.lastModifiedDate
Lecture seule Obsolète-
Renvoie la
Date
de dernière modification du fichier. File.name
Lecture seule-
Renvoie le nom du fichier.
File.webkitRelativePath
Lecture seule Non standard-
Renvoie le chemin auquel l'URL du
File
est relative.
File
implémente Blob
, et ainsi possède les propriétés suivantes :
Méthodes
L'interface File
ne définit aucune méthode, mais hérite des méthodes de l'interface Blob
:
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é. Blob.stream()
-
Transforme le
File
en unReadableStream
pouvant être utilisé pour lire le contenu duFile
. Blob.text()
-
Transforme le
File
en un flux (stream) et le lit en entier. Renvoie unepromesse
qui se résoud en uneUSVString
(texte). Blob.arrayBuffer()
-
Transforme le
File
en un flux (stream) et le lit en entier. Retourne unepromesse
qui se résoud en unArrayBuffer
.
Spécifications
Specification |
---|
File API # file-section |
Compatibilité des navigateurs
BCD tables only load in the browser
Notes d'implémentation
- Dans Gecko, vous pouvez utiliser API depuis du code chrome. Voir Using the DOM File API in chrome code pour plus de détails. Pour l'utiliser depuis du code chrome, JSM, ou portée Bootstrap, vous devez l'importer en utilisant
Cu.importGlobalProperties(['File']);
- À partir de Gecko 6.0, le code privilégié (par exemple au sein d'une extension) peut passer un objet
nsIFile
au constructeur DOMFile
pour spécifier le fichier à référencer. - À partir de Gecko 8.0, vous pouvez utiliser
new File
pour créer des objetsFile
depuis des composants XPCOM au lieu de devoir instancier les objetsnsIDOMFile
directement. Contrairement à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 );
- Les propriétés et méthodes non standard suivantes ont été retirées de Gecko 7 :
File.fileName
,File.fileSize
,File.getAsBinary()
,File.getAsDataURL()
,File.getAsText(string encoding)
(bug Firefox 661876). Les propriétés standardFile.name
,Blob.size
, et les méthodes deFileReader
devraient être utilisées à la place.
Voir aussi
- Utiliser des fichiers à partir d'applications web
FileReader
- Using the DOM File API in chrome code (pour du code privilégié s'exécutant dans Gecko, tel que des extensions de Firefox)