クイック スタート: Microsoft OneDrive ファイルが利用可能かどうかの確認 (HTML)
[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]
OneDrive ファイルが利用可能かどうかは、StorageFile.isAvailable プロパティを使って確認します。
必要条件
フォルダーやファイルの操作に使うメソッドの多くは非同期です。非同期アプリの作成方法については、「JavaScript での非同期プログラミング」をご覧ください。
StorageFile.isAvailable プロパティの使用
Windows 8.1 では、ユーザーは OneDrive ファイルを "オフラインで利用可能" (既定) または "オンラインのみ" とマークできます。この機能を使うと、大容量のファイル (写真やビデオなど) を自分の OneDrive に移動し、オンラインのみとマークすることで、ディスク領域を節約できます (ローカル側には、リモート ファイルに関するメタデータを格納したファイルのみが保持されるため)。
新しいプロパティである StorageFile.isAvailable は、ファイルが現在利用可能であるかどうかを判別するために使われます。次の表に、さまざまなシナリオでの StorageFile.isAvailable プロパティの値を示します。
ファイルの種類 | オンライン | 従量制課金接続 | オフライン |
---|---|---|---|
ローカル ファイル | True | True | True |
オフラインで利用可能とマークされている OneDrive ファイル | True | True | True |
オンラインのみとマークされている OneDrive ファイル | True | ユーザー設定に基づく | False |
ネットワーク ファイル | True | ユーザー設定に基づく | False |
次の手順では、ファイルが現在利用できるかどうかを判別する方法を示しています。
- 適切なライブラリ アクセス機能を定義します。列挙するライブラリに応じて、そのライブラリにアクセスする機能を定義する必要があります。このライブラリ アクセス機能の定義、および Microsoft Visual Studio プロジェクトのその他のファイル レベルの機能の定義について詳しくは、「Windows ストア アプリのファイル アクセスとアクセス許可」をご覧ください。
- ファイルが列挙されるフォルダーを表す StorageFolder オブジェクトを取得します。これは、いずれかの Windows.Storage.KnownFolders 静的プロパティ (Windows.Storage.KnownFolders.picturesLibrary など) を参照することで実行されます。
- StorageFolder.getFilesAsync メソッドを呼び出して、関連するフォルダーのすべてのファイルを取得します。
- 各 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 ファイルが利用できるかどうかを確認する方法について説明しました。