快速入门:确定 Microsoft OneDrive 文件的可用性 (HTML)
[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]
使用 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 |
以下步骤演示了如何确定文件是否当前可用。
- 定义适当的库访问功能。根据所枚举的库,你将需要定义用于访问该库的功能。若要了解有关此操作及如何定义 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 文件是否可用。