Краткое руководство: получение свойств файла (HTML)
[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]
Получение свойств файла, представленного объектом StorageFile.
Необходимые условия
Многие методы, используемые для взаимодействия с папками и файлами, являются асинхронными. Узнать о том, как создавать асинхронные приложения, можно из раздела Асинхронное программирование на JavaScript (приложения Магазина Windows).
Получение свойств файла верхнего уровня
Доступ ко многим свойствам файла верхнего уровня можно получить как к членам класса 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, который определяет свойства размера элемента (файл или папка) и дату его последнего изменения.
Следующий код перечисляет все файлы библиотеки изображений, предоставляя доступ к свойствам верхнего уровня и к базовым свойствам каждого из файлов. Обратите внимание, что код использует объекты Promise 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.