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 :
- l’objet
FileListretourné lorsque qu’un utilisateur ou une utilisatrice sélectionne des fichiers grâce à un élément<input>; - l’objet
DataTransferd’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() (en-US), et 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.
Constructeur
File()(en-US)-
Renvoie un
Filenouvellement construit.
Propriétés
File.lastModified(en-US) 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(en-US) Lecture seule Obsolète-
Renvoie la
Datede dernière modification du fichier. File.nameLecture seule-
Renvoie le nom du fichier.
File.webkitRelativePath(en-US) Lecture seule Non-standard-
Renvoie le chemin auquel l’URL du
Fileest relative.
File implémente Blob, et ainsi possède les propriétés suivantes :
File.size(en-US) Lecture seule-
Renvoie la taille du fichier en octets.
File.type(en-US) Lecture seule-
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 Blob :
Blob.slice([start[, end[, contentType]]])(en-US)-
Renvoie un nouvel objet
Blobcontenant les données du blob source comprises dans l’intervalle d’octets spécifié. Blob.stream()(en-US)-
Transforme le
Fileen unReadableStream(en-US) pouvant être utilisé pour lire le contenu duFile. Blob.text()(en-US)-
Transforme le
Fileen un flux (stream) et le lit en entier. Renvoie unepromessequi se résoud en uneUSVString(texte). Blob.arrayBuffer()(en-US)-
Transforme le
Fileen un flux (stream) et le lit en entier. Retourne unepromessequi 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
nsIFileau constructeur DOMFilepour spécifier le fichier à référencer. - À partir de Gecko 8.0, vous pouvez utiliser
new Filepour créer des objetsFiledepuis des composants XPCOM au lieu de devoir instancier les objetsnsIDOMFiledirectement. 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 deFileReaderdevraient ê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)