快速入門:判斷 Microsoft OneDrive 檔案的可用性 (HTML)

[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]

使用 StorageFile.isAvailable 屬性判斷 OneDrive 檔案是否可供使用。

先決條件

許多用來與資料夾和檔案互動的方法都是非同步的。您可以在 JavaScript 中的非同步程式設計了解如何撰寫非同步應用程式。

使用 StorageFile.isAvailable 屬性

在 Windows 8.1 中,使用者可以將 OneDrive 檔案標示為可離線使用 (預設值) 或僅限線上存取。這個功能可以讓使用者將大型檔案 (例如圖片或影片) 移到他們的 OneDrive、將檔案標示為僅限線上存取,以及節省磁碟空間 (因為本機保存的檔案只包含與遠端檔案相關的中繼資料)。

新的屬性 StorageFile.isAvailable 可用於判斷檔案目前是否可用。下表顯示 StorageFile.isAvailable 屬性在各種案例中的值。

檔案類型 線上 計量付費網路 離線
本機檔案 True True True
標示為可離線使用的 OneDrive 檔案 True True True
標示為僅限線上存取的 OneDrive 檔案 True 以使用者設定為基礎 False
網路檔案 True 以使用者設定為基礎 False

 

下列步驟說明如何判斷檔案目前是否可用。

  1. 定義適當的媒體櫃存取功能。根據列舉的媒體櫃,您需要定義功能以存取該媒體櫃。若要深入了解此功能,以及定義適用於 Microsoft Visual Studio 專案的其他檔案層級功能,請參閱 Windows 市集應用程式中的檔案存取和權限
  2. 取得 StorageFolder 物件,該物件代表含有要列舉檔案的資料夾。執行的方式是參照其中一個 Windows.Storage.KnownFolders 靜態屬性,如 Windows.Storage.KnownFolders.picturesLibrary
  3. 呼叫 StorageFolder.getFilesAsync 方法,抓取相關聯資料夾中的所有檔案。
  4. 逐一查看傳回的檔案集合,參照每個 StorageFile 物件的 isAvailable 屬性。

下列方法會列舉圖片庫,並顯示每個檔案的名稱、提供者名稱和可用性。

function OnDisplayAvailabilityClick(mouseEvent) {
    var output = document.getElementById("Output");

    var library = Windows.Storage.KnownFolders.picturesLibrary;
    var outString = "";
    library.getFilesAsync().then(function (files) {
        files.forEach(function (file) {
            outString += file.name + " (on " + file.provider.displayName + ") is " + (file.isAvailable ? "available" : "not available") + "\n";
        });
        output.innerText = outString;
    });
}

摘要

在這個快速入門中,您已了解如何使用程式設計方式來判斷 OneDrive 檔案是否可供使用。