Compartir a través de


Inicio rápido: obtener las propiedades de un archivo (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Obtén propiedades de un archivo representado por un objeto StorageFile.

Requisitos previos

Muchos de los métodos que se usan para interactuar con carpetas y archivos son asincrónicos. Puedes aprender a escribir aplicaciones asincrónicas en Programación asincrónica en JavaScript.

Obtener las propiedades de nivel superior de un archivo

Muchas de las propiedades de archivo de nivel superior son accesibles como miembros de la clase StorageFile. Estas propiedades incluyen datos como los atributos de archivos, el tipo de contenido, la fecha de creación, el nombre para mostrar, el tipo de archivo, etc.

En el siguiente código se enumeran todos los archivos de la biblioteca Imágenes y se accede a las propiedades de nombre de nivel superior y de tipo de cada archivo.

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"
});

Obtener las propiedades básicas de un archivo

Muchas propiedades de archivo básicas se obtienen mediante una llamada al método StorageFile.getBasicPropertiesAsync. Este método devuelve un objeto BasicProperties, que define propiedades para el tamaño del elemento (archivo o carpeta) y la última vez que se modificó el elemento.

En el siguiente código se enumeran todos los archivos de la biblioteca Imágenes y se accede a las propiedades de nivel superior y básicas de cada archivo. Ten en cuenta que el código usa promesas de JavaScript y el método WinJS.Promises.join para sincronizar las dos llamadas de métodos: StorageFolder.getFilesAsync y 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;
    }
});

Resumen

En este inicio rápido has aprendido cómo obtener propiedades de nivel superior y básicas de un archivo determinado representado mediante un objeto StorageFile.