快速入门:获取文件属性 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

获取由 StorageFile 对象表示的文件的属性。

先决条件

很多用来与文件夹和文件交互的方法都是异步方法。若要了解如何编写异步应用,请参阅使用 JavaScript 异步编程

获取文件的顶级属性

很多顶级文件属性都可以作为 StorageFile 类的成员进行访问。这些属性包括以下数据:文件属性、内容类型、创建日期、显示名称和文件类型等。

以下代码枚举了图片库中的所有文件,并访问每个文件的顶级属性和类型属性。

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

获取文件的基本属性

很多基本文件属性都是通过先调用 StorageFile.getBasicPropertiesAsync 方法获得的。此方法会返回一个 BasicProperties 对象,该对象将定义项目(文件或文件夹)的大小属性,以及上次修改项目的时间属性。

以下代码枚举了图片库中的所有文件,并访问每个文件的顶级属性和基本属性。请注意,该代码充分使用 JavaScript 承诺和 WinJS.Promises.join 方法,以便同步以下两个异步方法调用:StorageFolder.getFilesAsyncStorageFile.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;
    }
});

摘要

在本快速入门中,你已了解如何获取由 StorageFile 对象表示的给定文件的顶级属性和基本属性。