Démarrage rapide : obtention des propriétés de fichier (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Obtenez les propriétés d’un fichier représenté par un objet StorageFile.

Prérequis

La plupart des méthodes utilisées pour interagir avec les fichiers et les dossiers sont asynchrones. Pour apprendre à écrire des applications asynchrones, voir Programmation asynchrone en JavaScript.

Obtention des propriétés de haut niveau d’un fichier

De nombreuses propriétés de fichier de haut niveau sont accessibles en tant que membres de la classe StorageFile. Ces propriétés incluent des données telles que les attributs des fichiers, le type de contenu, la date de création, le nom d’affichage, le type de fichier, etc.

Le code suivant énumère tous les fichiers de la bibliothèque d’images, en accédant aux propriétés de type et de nom de haut niveau de chaque fichier.

var library = Windows.Storage.KnownFolders.picturesLibrary;
var outString = "";

library.getFilesAsync().then(function (files) {
    files.forEach(function (file) {
    outString += "File name: " + file.name + "\n";
    outString += "File type: " + file.fileType + "\n";
    outString += "\n"
});

Obtention des propriétés de base d’un fichier

De nombreuses propriétés de fichier de base sont obtenues en appelant d’abord la méthode StorageFile.getBasicPropertiesAsync. Cette méthode retourne un objet BasicProperties, qui définit les propriétés relatives à la taille de l’élément (fichier ou dossier), ainsi que la date de sa dernière modification.

Le code suivant énumère tous les fichiers de la bibliothèque d’images, en accédant aux propriétés de de base et de haut niveau de chaque fichier. Notez que le code utilise des promesses JavaScript et la méthode WinJS.Promises.join pour synchroniser les deux appels de méthodes asynchrones : StorageFolder.getFilesAsync et StorageFile.getBasicPropertiesAsync.


var library = Windows.Storage.KnownFolders.picturesLibrary;
var outString = "";

library.getFilesAsync().then(function (files) {
    var promises = [];
    files.forEach(function (file) {    
        promises.push(WinJS.Promise.as(file));
        promises.push(file.getBasicPropertiesAsync());
    })
    return WinJS.Promise.join(promises);
})
.done(function (results) {
    var counter = 0

    while (counter < results.length) {
        var file = results[counter];    
        var props = results[counter + 1];
        outString += "File name: " + file.name + "\n";
        outString += "File type: " + file.fileType + "\n";
        outString += "File size: " + props.size + "\n";
        outString += "\n"
        counter = counter + 2;
    }
});

Récapitulatif

Dans ce didacticiel de démarrage rapide, vous avez appris à obtenir les propriétés de haut niveau et de base d’un fichier donné représenté par un objet StorageFile.