Menyimpan file dengan pemilih

API penting

Gunakan FileSavePicker untuk memungkinkan pengguna menentukan nama dan lokasi tempat mereka ingin aplikasi Anda menyimpan file.

Catatan

 Untuk sampel lengkap, lihat Sampel pemilih file.

Catatan

Dalam aplikasi desktop (yang mencakup aplikasi WinUI 3), Anda 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

FileSavePicker: langkah demi langkah

Gunakan FileSavePicker sehingga pengguna Anda dapat menentukan nama, jenis, dan lokasi file untuk disimpan. Buat, sesuaikan, dan tampilkan objek pemilih file, lalu simpan data melalui objek StorageFile yang dikembalikan yang mewakili file yang dipilih.

  1. Membuat dan menyesuaikan 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, sampel menetapkan SuggestedStartLocation ke folder lokal aplikasi dengan menggunakan LocalFolder. Atur SuggestedStartLocation ke lokasi yang sesuai untuk tipe 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 .

    Catatan

     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 menyimpan beberapa pengetikan pengguna, contoh 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.
  2. Perlihatkan 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 objek StorageFile 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 memeriksa bahwa file valid dan menulis nama filenya sendiri ke dalamnya. Lihat Juga membuat, menulis, dan membaca file.

Tip

 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.

Baca juga

Windows.Storage.Pickers

File, folder, dan pustaka

Mengintegrasikan dengan kontrak pemilih file

Membuat, menulis, dan membaca file