Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Erstellen einer WinUI 3-App? Verwenden Sie die Microsoft.Windows. Storage.Pickers Namespace anstelle der in diesem Artikel beschriebenen Windows.Storage.Pickers-APIs. Die Windows App SDK-Auswahl (verfügbar in Windows App SDK 1.8 und höher) ist für WinUI 3-Anwendungen konzipiert – benötigt keine Fensterhandle-Initialisierung und liefert leichte pfadbasierte Ergebnisse zurück. Siehe Speichern einer Datei mit einer Auswahl in WinUI und Öffnen von Dateien und Ordnern mit Auswahl in WinUI.
Die Windows.Storage.Pickers-APIs auf dieser Seite gelten für UWP-Apps und Desktop-Apps, die erhöhte Berechtigungen benötigen (wobei die Windows App SDK Steuerelemente nicht verwendet werden können).
Wichtige APIs
Verwenden Sie FileSavePicker-, damit Benutzer den Namen und Speicherort angeben können, an dem ihre App eine Datei speichern soll.
Voraussetzungen
Grundlegendes zur asynchronen Programmierung für UWP-Apps (Universelle Windows-Plattform)
Sie können lernen, wie man asynchrone Apps in C# oder Visual Basic schreibt, siehe Aufrufen asynchroner APIs in C# oder Visual Basic. Informationen zum Schreiben asynchroner Apps in C++ finden Sie unter Asynchrone Programmierung in C++-.
Zugriffsberechtigungen für den Speicherort
Siehe Dateizugriffsberechtigungen.
FileSavePicker: Schritt für Schritt
Verwenden Sie den FileSavePicker, damit die Benutzer den Namen, Typ und Speicherort einer Datei zum Speichern angeben können. Erstellen Sie, passen Sie an und zeigen Sie ein Dateiauswahlobjekt, und speichern Sie dann Daten über das zurückgegebene StorageFile--Objekt, das die gewählte Datei darstellt.
Erstellen und Anpassen eines FileSavePickers
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";Legen Sie Eigenschaften für das Dateiauswahlobjekt fest, das für Ihre Benutzer und Ihre App relevant ist. In diesem Beispiel werden drei Eigenschaften festgelegt: SuggestedStartLocation, FileTypeChoices und SuggestedFileName.
Da der Benutzer ein Dokument oder eine Textdatei speichert, setzt das Beispiel SuggestedStartLocation in den lokalen Ordner der App, indem es LocalFolderverwendet. Legen Sie SuggestedStartLocation- auf einen Speicherort fest, der für den Dateityp geeignet ist, z. B. Musik, Bilder, Videos oder Dokumente. Vom Startort aus kann der Benutzer zu anderen Orten navigieren.
Da wir sicherstellen möchten, dass unsere App die Datei nach dem Speichern öffnen kann, verwenden wir FileTypeChoices-, um Dateitypen anzugeben, die das Beispiel unterstützt (Microsoft Word-Dokumente und Textdateien). Stellen Sie sicher, dass alle von Ihnen angegebenen Dateitypen von Ihrer App unterstützt werden. Benutzer können ihre Datei als einen der von Ihnen angegebenen Dateitypen speichern. Sie können den Dateityp auch ändern, indem sie einen anderen der von Ihnen angegebenen Dateitypen auswählen. Der erste Dateityp in der Liste wird standardmäßig ausgewählt: Um dies zu ändern, legen Sie die DefaultFileExtension-Eigenschaft fest.
Hinweis
Die Dateiauswahl verwendet außerdem den aktuell ausgewählten Dateityp, um zu filtern, welche Dateien angezeigt werden, sodass dem Benutzer nur Dateitypen angezeigt werden, die den ausgewählten Dateitypen entsprechen.
- Um dem Benutzer Tippaufwand zu ersparen, wird im Beispiel ein SuggestedFileNamefestgelegt. Machen Sie den vorgeschlagenen Dateinamen für die Datei, die gespeichert wird, relevant. Beispielsweise können Sie, ähnlich wie bei Word, den vorhandenen Dateinamen vorschlagen, falls einer vorhanden ist, oder die erste Zeile eines Dokuments verwenden, wenn der Benutzer eine Datei speichert, die noch keinen Namen hat.
Hinweis
FileSavePicker- Objekte verwenden den Ansichtsmodus PickerViewMode.List, um den Dateiauswahldialog anzuzeigen.
"FileSavePicker" anzeigen und in der ausgewählten Datei speichern
Zeigen Sie die Dateiauswahl an, indem Sie PickSaveFileAsyncaufrufen. Nachdem der Benutzer den Namen, den Dateityp und den Speicherort angegeben und bestätigt hat, die Datei zu speichern, gibt PickSaveFileAsync- ein StorageFile--Objekt zurück, das die gespeicherte Datei darstellt. Sie können diese Datei jetzt erfassen und verarbeiten, da Sie Lese- und Schreibzugriff darauf haben.
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."; }
Im Beispiel wird überprüft, ob die Datei gültig ist und einen eigenen Dateinamen in die Datei schreibt. Siehe auch Erstellen, Schreiben und Lesen einer Datei.
Tipp
Sie sollten die gespeicherte Datei immer überprüfen, um sicherzustellen, dass sie gültig ist, bevor Sie eine andere Verarbeitung durchführen. Anschließend können Sie Inhalte entsprechend ihrer App in der Datei speichern und ein entsprechendes Verhalten bereitstellen, wenn die ausgewählte Datei ungültig ist.
Siehe auch
Dateien, Ordner und Bibliotheken