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.
Wichtige APIs
Verwenden Sie FileSavePicker-, damit Benutzer den Namen und Speicherort angeben können, an dem ihre App eine Datei speichern soll.
Hinweis
In einer Desktop-App (einschließlich WinUI-Apps) können Sie den Namespace "Microsoft.Windows.Storage.Pickers " verwenden, um auf die Datei- und Ordnerauswahl zuzugreifen. Dieser Namespace ist in Windows App SDK Version 1.8 und höher verfügbar. Die APIs in diesem Namespace sind so konzipiert, dass sie nahtlos mit WinUI-Apps zusammenarbeiten und eine konsistente Erfahrung für verschiedene App-Typen bieten.
Bei Bedarf können Sie weiterhin Datei- und Ordnerauswahlen aus Windows.Storage.Pickers verwenden. Wenn die Desktop-App jedoch eine Erhöhung der Berechtigungen benötigt, um ausgeführt zu werden, benötigen Sie einen anderen Ansatz, da diese APIs nicht für die Verwendung in einer App mit erhöhten Berechtigungen konzipiert sind. Ein Beispiel finden Sie unter FileSavePicker.
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