Menentukan ketersediaan file Microsoft OneDrive
API penting
Tentukan apakah file Microsoft OneDrive tersedia menggunakan properti StorageFile.IsAvailable.
Prasyarat
Memahami pemrograman asinkron untuk aplikasi Platform Windows Universal (UWP)
Anda dapat mempelajari cara menulis aplikasi asinkron di C# atau Visual Basic, lihat Memanggil API asinkron di C# atau Visual Basic. Untuk mempelajari cara menulis aplikasi asinkron di C++, lihat Pemrograman asinkron di C++.
Deklarasi kemampuan aplikasi
Lihat Izin akses file.
Menggunakan properti StorageFile.IsAvailable
Pengguna dapat menandai file OneDrive sebagai tersedia-offline (default) atau online-saja. Kemampuan ini memungkinkan pengguna memindahkan file besar (seperti gambar dan video) ke OneDrive mereka, menandainya sebagai hanya online, dan menyimpan ruang disk (satu-satunya hal yang disimpan secara lokal adalah file metadata).
StorageFile.IsAvailable, digunakan untuk menentukan apakah file saat ini tersedia. Tabel berikut ini memperlihatkan nilai properti StorageFile.IsAvailable dalam berbagai skenario.
Jenis file | Online | Jaringan terukur | Offline |
---|---|---|---|
File lokal | Benar | Benar | Benar |
File OneDrive ditandai sebagai tersedia-offline | Benar | Benar | Benar |
File OneDrive ditandai sebagai online-saja | Benar | Berdasarkan pengaturan pengguna | Salah |
File jaringan | Benar | Berdasarkan pengaturan pengguna | Salah |
Langkah-langkah berikut mengilustrasikan cara menentukan apakah file saat ini tersedia.
- Nyatakan kemampuan yang sesuai untuk pustaka yang ingin Anda akses.
- Sertakan namespace Windows.Storage . Namespace layanan ini mencakup jenis untuk mengelola file, folder, dan pengaturan aplikasi. Ini juga termasuk jenis StorageFile yang diperlukan.
- Memperoleh objek StorageFile untuk file yang diinginkan. Jika Anda menghitung pustaka, langkah ini biasanya dicapai dengan memanggil metode StorageFolder.CreateFileQuery lalu memanggil metode GetFilesAsync objek StorageFileQueryResult yang dihasilkan. Metode GetFilesAsync mengembalikan kumpulan IReadOnlyList objek StorageFile .
- Setelah Anda memiliki akses ke objek StorageFile yang mewakili file yang diinginkan, nilai properti StorageFile.IsAvailable mencerminkan apakah file tersedia atau tidak.
Metode generik berikut mengilustrasikan cara menghitung folder apa pun dan mengembalikan kumpulan objek StorageFile untuk folder tersebut. Metode pemanggilan kemudian mengulangi pengumpulan yang dikembalikan yang mereferensikan properti StorageFile.IsAvailable untuk setiap file.
/// <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");
}
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk