快速入门:获取文件属性 (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.getFilesAsync 和 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;
}
});
摘要
在本快速入门中,你已了解如何获取由 StorageFile 对象表示的给定文件的顶级属性和基本属性。