Les objets Blob et File

Parent Previous Next


Les objets Blob et File



Actuellement, notre utilisation de l'API File s'est limitée à l'obtention du nom du fichier. Cependant, il existe bien plus d'informations que cela grâce aux objets Blob et File !


Si vous allez jeter un coup d’œil à la spécification HTML5 réalisée par le W3C, vous constaterez que plutôt que de parler d'un « objet » on parle d'une « interface ». Afin d'éviter toute confusion, il est bon de savoir qu'une interface désigne la structure de base de toutes les instanciations d'un seul et même objet. Ainsi si on parle, par exemple, d'une interface Blob, alors cela désigne une présentation des propriétés et des méthodes que l'on peut trouver dans les objets de type Blob. Le terme « interface » est très fréquemment utilisé par le W3C, donc souvenez-vous de sa désignation pour le jour où vous irez lire des spécifications HTML conçues par cet organisme.


L'objet Blob


Un objet de type Blob est une structure représentant des données binaires disponibles uniquement en lecture seule. La plupart du temps, vous rencontrerez ces objets uniquement lorsque vous manipulerez des fichiers, car ces objets représentent les données binaires du fichier ciblé.


Concrètement, que pouvons-nous faire avec un Blob ? Eh bien, pas grand-chose au final… Enfin, pas en l'utilisant seul tout du moins. Car, bien qu'il soit possible de créer un Blob par nous-mêmes (avec l'objet BlobBuilder), nous ne le ferons quasiment jamais puisque nous utiliserons ceux créés lors de la manipulation de fichiers, ce que nous verrons par la suite.


Les objets Blob possèdent deux propriétés nommées size et type qui permettent respectivement de récupérer la taille en octets des données manipulées par le Blob ainsi que leur type MIME.


Il existe également une méthode nommée slice(), mais c'est un sujet bien trop avancé et peu utile. Si vous souhaitez en savoir plus sur cette fonction, nous vous invitons à consulter la documentation du MDN.


L'objet File


Les objets File possèdent un nom bien représentatif puisqu'ils permettent de manipuler les fichiers. Leur particularité est qu'ils héritent des propriétés et méthodes des objets Blob, voilà pourquoi nous ne créerons quasiment jamais ces derniers par nous-mêmes.


Donc, en plus des propriétés et méthodes des objets Blob, les objets File possèdent deux propriétés supplémentaires qui sont name pour obtenir le nom du fichier et lastModifiedDate pour obtenir la date de la dernière modification du fichier (sous forme d'objet Date bien évidemment).


Et c'est tout ?


Heureusement que non ! Bien que les objets File ne soient pas intéressants en terme d'informations, ils le deviennent soudainement bien plus lorsque l'on commence à aborder leur lecture, grâce aux objets de type FileReader !


Créé avec HelpNDoc Personal Edition: Générateur gratuit de livres électroniques et documentation

Site à deux balles