빠른 시작: 파일 속성 가져오기(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 개체를 반환하며, 이 개체는 항목이 마지막으로 수정된 시간뿐만 아니라 항목(파일 또는 폴더)의 크기에 대한 속성을 정의합니다.

다음 코드에서는 사진 라이브러리의 모든 파일을 열거하고 각 파일의 최상위 및 기본 속성에 모두 액세스합니다. 코드는 StorageFolder.getFilesAsyncStorageFile.getBasicPropertiesAsync 등 두 가지의 비동기 메서드 호출을 동기화하기 위해 JavaScript promise 및 WinJS.Promises.join 메서드를 사용합니다.


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 개체로 표시되는 지정된 파일의 최상위 및 기본 속성을 가져오는 방법을 알아보았습니다.