Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
API Penting
- FileSavePicker
- StorageFile
Gunakan
Nota
Di aplikasi desktop (yang mencakup aplikasi WinUI), Anda dapat menggunakan namespace Microsoft.Windows.Storage.Pickers untuk mengakses pemilih file dan folder. Namespace ini tersedia di Windows App SDK versi 1.8 dan yang lebih baru. API di namespace ini dirancang untuk bekerja dengan mulus dengan aplikasi WinUI, memberikan pengalaman yang konsisten di berbagai jenis aplikasi.
Jika perlu, Anda masih dapat menggunakan pemilih file dan folder dari Windows.Storage.Pickers. Namun, jika aplikasi desktop memerlukan elevasi untuk dijalankan, Anda memerlukan pendekatan yang berbeda karena API ini tidak dirancang untuk digunakan dalam aplikasi yang ditinggikan. Misalnya, lihat FileSavePicker.
Prasyarat
Memahami pemrograman asinkron untuk aplikasi Universal Windows Platform (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++.
Izin akses ke lokasi
Lihat izin akses berkas.
FileSavePicker: langkah demi langkah
Gunakan FileSavePicker
Membuat dan mempersonalisasi FileSavePicker
var savePicker = new Windows.Storage.Pickers.FileSavePicker(); savePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary; // Dropdown of file types the user can save the file as savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" }); // Default file name if the user does not type one in or select a file to replace savePicker.SuggestedFileName = "New Document";Atur properti pada objek pemilih file yang relevan dengan pengguna dan aplikasi Anda. Contoh ini menetapkan tiga properti: suggestedStartLocation, FileTypeChoices dan SuggestedFileName.
Karena pengguna kami menyimpan file dokumen atau teks, contoh mengatur SuggestedStartLocation ke folder lokal aplikasi, dengan menggunakan LocalFolder. Atur SuggestedStartLocation ke lokasi yang sesuai untuk jenis file yang disimpan, misalnya Musik, Gambar, Video, atau Dokumen. Dari lokasi awal, pengguna dapat menavigasi ke lokasi lain.
Karena kami ingin memastikan aplikasi kami dapat membuka file setelah disimpan, kami menggunakan FileTypeChoices untuk menentukan jenis file yang didukung sampel (dokumen Microsoft Word dan file teks). Pastikan semua jenis file yang Anda tentukan didukung oleh aplikasi Anda. Pengguna akan dapat menyimpan file mereka sebagai salah satu jenis file yang Anda tentukan. Mereka juga dapat mengubah jenis file dengan memilih jenis file lain yang Anda tentukan. Pilihan jenis file pertama dalam daftar akan dipilih secara default: untuk mengontrolnya, atur properti
DefaultFileExtension.
Nota
Pemilih file juga menggunakan tipe file yang saat ini dipilih untuk memfilter file mana yang ditampilkannya, sehingga hanya tipe file yang cocok dengan tipe file yang dipilih yang ditampilkan kepada pengguna.
- Untuk menghemat beberapa pengetikan bagi pengguna, contoh ini mengatur SuggestedFileName. Jadikan nama file yang disarankan relevan dengan file yang disimpan. Misalnya, seperti Word, Anda bisa menyarankan nama file yang sudah ada jika ada, atau baris pertama dokumen jika pengguna menyimpan file yang belum memiliki nama.
Nota
FileSavePicker objek menampilkan pemilih file menggunakan mode tampilan PickerViewMode.List.
Tampilkan FileSavePicker dan simpan ke file yang dipilih
Tampilkan pemilih file dengan memanggil PickSaveFileAsync. Setelah pengguna menentukan nama, jenis file, dan lokasi, dan mengonfirmasi untuk menyimpan file,
PickSaveFileAsync mengembalikan objekStorageFile yang mewakili file yang disimpan. Anda dapat mengambil dan memproses file ini sekarang setelah Anda membaca dan menulis akses ke file tersebut. Windows.Storage.StorageFile file = await savePicker.PickSaveFileAsync(); if (file != null) { // Prevent updates to the remote version of the file until // we finish making changes and call CompleteUpdatesAsync. Windows.Storage.CachedFileManager.DeferUpdates(file); // write to file await Windows.Storage.FileIO.WriteTextAsync(file, "file contents"); // Let Windows know that we're finished changing the file so // the other app can update the remote version of the file. // Completing updates may require Windows to ask for user input. Windows.Storage.Provider.FileUpdateStatus status = await Windows.Storage.CachedFileManager.CompleteUpdatesAsync(file); if (status == Windows.Storage.Provider.FileUpdateStatus.Complete) { this.textBlock.Text = "File " + file.Name + " was saved."; } else { this.textBlock.Text = "File " + file.Name + " couldn't be saved."; } } else { this.textBlock.Text = "Operation cancelled."; }
Contoh ini memeriksa bahwa file tersebut valid dan menulis nama filenya sendiri ke dalam file itu. Lihat juga Membuat, menulis, dan membaca file.
Petunjuk / Saran
Anda harus selalu memeriksa file yang disimpan untuk memastikan file tersebut valid sebelum Anda melakukan pemrosesan lainnya. Kemudian, Anda dapat menyimpan konten ke file yang sesuai untuk aplikasi Anda, dan memberikan perilaku yang sesuai jika file yang dipilih tidak valid.