Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
ważne interfejsy API
Użyj FileSavePicker, aby umożliwić użytkownikom określenie nazwy i lokalizacji, w której aplikacja ma zapisać plik.
Uwaga / Notatka
W aplikacji desktopowej (w tym aplikacjach WinUI) możesz użyć przestrzeni nazw Microsoft.Windows.Storage.Pickers, aby uzyskać dostęp do selektorów plików i folderów. Ta przestrzeń nazw jest dostępna w zestawie SDK aplikacji systemu Windows w wersji 1.8 lub nowszej. Interfejsy API w tej przestrzeni nazw są zaprojektowane tak, aby bezproblemowo współdziałały z aplikacjami WinUI, zapewniając spójne środowisko w różnych typach aplikacji.
W razie potrzeby nadal można używać selektorów plików i folderów z Windows.Storage.Pickers. Jeśli jednak aplikacja komputerowa wymaga zwiększenia uprawnień do uruchomienia, konieczne będzie inne podejście, ponieważ te interfejsy API nie są przystosowane do używania w aplikacji z podwyższonym poziomem uprawnień. Aby zapoznać się z przykładem, zobacz FileSavePicker.
Wymagania wstępne
Omówienie programowania asynchronicznego dla aplikacji platformy uniwersalnej systemu Windows (UWP)
Aby dowiedzieć się, jak pisać aplikacje asynchroniczne w języku C# lub Visual Basic, zobacz Wywoływanie asynchronicznych interfejsów API w języku C# lub Visual Basic. Aby dowiedzieć się, jak pisać aplikacje asynchroniczne w języku C++, zobacz Programowanie asynchroniczne w języku C++.
uprawnienia dostępu do lokalizacji
Zobacz Uprawnienia dostępu do plików.
FileSavePicker: krok po kroku
Użyj FileSavePicker, aby użytkownicy mogli określić nazwę, typ i lokalizację pliku do zapisania. Utwórz, dostosuj i pokaż obiekt selektora plików, a następnie zapisz dane za pośrednictwem zwróconego obiektu StorageFile reprezentującego wybrany plik.
Tworzenie i dostosowywanie narzędzia 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";Ustaw właściwości obiektu selektora plików, które są istotne dla użytkowników i aplikacji. W tym przykładzie ustawiono trzy właściwości: SuggestedStartLocation, FileTypeChoices i SuggestedFileName.
Ponieważ nasz użytkownik zapisuje dokument lub plik tekstowy, przykładowe zestawienia SuggestedStartLocation są ustawiane na lokalny folder aplikacji przy użyciu folderu lokalnego. Ustaw SuggestedStartLocation na lokalizację odpowiednią dla typu zapisywanego pliku, na przykład Muzyka, Obrazy, Filmy lub Dokumenty. Z lokalizacji początkowej użytkownik może przejść do innych lokalizacji.
Ponieważ chcemy upewnić się, że nasza aplikacja może otworzyć plik po jego zapisaniu, używamy FileTypeChoices do określania typów plików, które obsługuje przykład (dokumenty programu Microsoft Word i pliki tekstowe). Upewnij się, że wszystkie określone typy plików są obsługiwane przez aplikację. Użytkownicy będą mogli zapisywać swój plik jako dowolny z określonych typów plików. Mogą również zmienić typ pliku, wybierając inny określony typ pliku. Wybór pierwszego typu pliku na liście zostanie domyślnie wybrany: aby to kontrolować, ustaw właściwość DefaultFileExtension.
Uwaga / Notatka
Selektor plików używa również aktualnie wybranego typu pliku do filtrowania wyświetlanych plików, dzięki czemu tylko typy plików pasujące do wybranych typów plików są wyświetlane użytkownikowi.
- Aby zaoszczędzić użytkownikowi trochę pisania, przykład ustawia SuggestedFileName. Nadaj proponowanej nazwie pliku odpowiedniość do zapisywanego pliku. Na przykład, podobnie jak program Word, możesz zasugerować istniejącą nazwę pliku, jeśli istnieje, lub pierwszy wiersz dokumentu, jeśli użytkownik zapisuje plik, który nie ma jeszcze nazwy.
Uwaga / Notatka
obiekty FileSavePicker wyświetlają selektor plików w trybie widoku PickerViewMode.List.
Pokaż selektor zapisu pliku i zapisz do wybranego pliku
Wyświetl selektor plików, wywołując PickSaveFileAsync. Gdy użytkownik określi nazwę, typ pliku i lokalizację oraz potwierdzi zapisanie pliku, PickSaveFileAsync zwraca obiekt StorageFile reprezentujący zapisany plik. Możesz przechwycić i przetworzyć ten plik teraz, gdy masz do niego dostęp do odczytu i zapisu.
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."; }
Przykład sprawdza, czy plik jest prawidłowy i zapisuje w nim własną nazwę pliku. Zobacz również Tworzenie, zapisywanie i odczytywanie pliku.
Wskazówka
Zawsze należy sprawdzić zapisany plik, aby upewnić się, że jest on prawidłowy przed wykonaniem jakiegokolwiek innego przetwarzania. Następnie możesz zapisać zawartość w pliku zgodnie z potrzebami aplikacji i zapewnić odpowiednie zachowanie, jeśli wybrany plik jest nieprawidłowy.