Guia de início rápido: obtendo as propriedades do arquivo (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Obter propriedades para um arquivo representado por um objeto StorageFile.

Pré-requisitos

Muitos dos métodos usados para interagir com pastas e arquivos são assíncronos. Você pode aprender como escrever aplicativos assíncronos em Programação assíncrona em JavaScript.

Obtendo as propriedades de nível superior de um arquivo

Muitas propriedades de nível superior são acessadas como membros da classe StorageFile. Essas propriedades incluem referências como, por exemplo, atributos do arquivo, tipo de conteúdo, data de criação, nome para exibição, tipo de arquivo etc.

O código a seguir enumera todos os arquivos da Biblioteca de imagens, acessando algumas das propriedades de tipo e de nome de nível superior de cada arquivo.

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

Obtendo as propriedades básicas de um arquivo

Muitas propriedades básicas são obtidas chamando, primeiro, o método StorageFile.getBasicPropertiesAsync. Esse método retorna um objeto BasicProperties, que define propriedades para o tamanho do item (arquivo ou pasta), bem como a data da última modificação do item.

O código a seguir enumera todos os arquivos da Biblioteca de imagens, acessando as propriedades de tipo e de nome de nível superior de cada arquivo. Observe que o código utiliza promessas JavaScript e o método WinJS.Promises.join para sincronizar as duas chamadas de método assíncrono: StorageFolder.getFilesAsync e 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;
    }
});

Resumo

Nesse guia de início rápido, você aprendeu como obter propriedades de nível superior e básicas para um determinado arquivo representado pelo objeto StorageFile.