Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
důležitá rozhraní API
Pomocí vlastnosti StorageFile.Is Available zjistěte, jestli je k dispozici soubor Microsoft OneDrive.
Požadavky
principy asynchronního programování pro aplikace univerzální platformy Windows (UPW)
Dozvíte se, jak psát asynchronní aplikace v jazyce C# nebo Visual Basic, viz Volání asynchronních rozhraní API v jazyce C# nebo Visual Basic. Informace o tom, jak psát asynchronní aplikace v jazyce C++, najdete v tématu asynchronní programování v jazyce C++.
deklarace funkcí aplikace
Použití vlastnosti StorageFile.IsAvailable
Uživatelé můžou soubory OneDrivu označit jako dostupné offline (výchozí) nebo jenom online. Tato funkce umožňuje uživatelům přesouvat velké soubory (například obrázky a videa) na OneDrive, označit je jako jenom online a ušetřit místo na disku (jediná věc, která se uchovává místně, je soubor metadat).
StorageFile.IsAvailable, slouží k určení, zda je soubor aktuálně k dispozici. Následující tabulka ukazuje hodnotu vlastnosti StorageFile.IsAvailable v různých scénářích.
| Typ souboru | Online | Měřená síť | Režim offline |
|---|---|---|---|
| Místní soubor | Pravdivé | Pravdivé | Pravdivé |
| Soubor OneDrivu označený jako dostupný–offline | Pravdivé | Pravdivé | Pravdivé |
| Soubor v OneDrive označený jako pouze online | Pravdivé | Na základě uživatelských nastavení | Nepravda |
| Síťový soubor | Pravdivé | Na základě uživatelských nastavení | Nepravda |
Následující kroky ukazují, jak určit, jestli je soubor aktuálně dostupný.
- Deklarujte schopnost odpovídající knihovně, ke které chcete získat přístup.
- Zahrňte obor názvů Windows.Storage. Tento obor názvů zahrnuje typy pro správu souborů, složek a nastavení aplikace. Zahrnuje také potřebný typ StorageFile.
- Získejte objekt StorageFile pro požadovaný/potřebný soubor/soubory. Pokud vytváříte výčet knihovny, tento krok se obvykle provádí voláním metody StorageFolder.CreateFileQuery a voláním výsledné StorageFileQueryResult objektu GetFilesAsync metody. Metoda GetFilesAsync vrátí kolekci IReadOnlyList objektů StorageFile.
- Jakmile budete mít přístup k objektu StorageFile představující požadované soubory, hodnota vlastnosti StorageFile.IsAvailable odráží, zda je soubor k dispozici.
Následující obecná metoda ukazuje, jak vytvořit výčet libovolné složky a vrátit kolekci StorageFile objekty pro tuto složku. Volající metoda pak iteruje přes vrácenou kolekci odkazující na StorageFile.IsAvailable vlastnost pro každý soubor.
/// <summary>
/// Generic function that retrieves all files from the specified folder.
/// </summary>
/// <param name="folder">The folder to be searched.</param>
/// <returns>An IReadOnlyList collection containing the file objects.</returns>
async Task<System.Collections.Generic.IReadOnlyList<StorageFile>> GetLibraryFilesAsync(StorageFolder folder)
{
var query = folder.CreateFileQuery();
return await query.GetFilesAsync();
}
private async void CheckAvailabilityOfFilesInPicturesLibrary()
{
// Determine availability of all files within Pictures library.
var files = await GetLibraryFilesAsync(KnownFolders.PicturesLibrary);
for (int i = 0; i < files.Count; i++)
{
StorageFile file = files[i];
StringBuilder fileInfo = new StringBuilder();
fileInfo.AppendFormat("{0} (on {1}) is {2}",
file.Name,
file.Provider.DisplayName,
file.IsAvailable ? "available" : "not available");
}
}