Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les APIs importantes
Utilisez FileSavePicker pour permettre aux utilisateurs de spécifier le nom et l’emplacement où ils souhaitent que votre application enregistre un fichier.
Remarque
Dans une application de bureau (qui inclut des applications WinUI), vous pouvez utiliser l’espace de noms Microsoft.Windows.Storage.Pickers pour accéder aux sélecteurs de fichiers et de dossiers. Cet espace de noms est disponible dans le Kit de développement logiciel (SDK) d’application Windows version 1.8 et ultérieure. Les API de cet espace de noms sont conçues pour fonctionner en toute transparence avec les applications WinUI, ce qui offre une expérience cohérente entre différents types d’applications.
Si nécessaire, vous pouvez toujours utiliser des sélecteurs de fichiers et de dossiers à partir de Windows.Storage.Pickers. Toutefois, si l’application de bureau nécessite une élévation pour s’exécuter, vous aurez besoin d’une approche différente, car ces API ne sont pas conçues pour être utilisées dans une application avec élévation de privilèges. Pour obtenir un exemple, consultez FileSavePicker.
Conditions préalables
Comprendre la programmation asynchrone pour les applications de plateforme Windows universelle (UWP)
Vous pouvez apprendre à écrire des applications asynchrones en C# ou En Visual Basic, consultez Appeler des API asynchrones en C# ou Visual Basic. Pour savoir comment écrire des applications asynchrones en C++, consultez programmation asynchrone en C++.
permissions d’accès à l’emplacement
FileSavePicker : étape par étape
Utilisez un FileSavePicker afin que vos utilisateurs puissent spécifier le nom, le type et l’emplacement d’un fichier à enregistrer. Créez, personnalisez et affichez un objet de sélecteur de fichiers, puis enregistrez les données via l’objet StorageFile retourné qui représente le fichier sélectionné.
Créer et personnaliser le 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";Définissez les propriétés sur l’objet sélecteur de fichiers qui sont pertinentes pour vos utilisateurs et votre application. Cet exemple définit trois propriétés : SuggestedStartLocation, FileTypeChoices et SuggestedFileName.
Étant donné que notre utilisateur enregistre un document ou un fichier texte, l’exemple définit SuggestedStartLocation dans le dossier local de l’application à l’aide de LocalFolder. Définissez SuggestedStartLocation sur un emplacement approprié pour le type de fichier enregistré, par exemple Musique, Images, Vidéos ou Documents. À partir de l’emplacement de début, l’utilisateur peut accéder à d’autres emplacements.
Étant donné que nous voulons nous assurer que notre application peut ouvrir le fichier après son enregistrement, nous utilisons FileTypeChoices pour spécifier les types de fichiers pris en charge par l’exemple (documents Microsoft Word et fichiers texte). Vérifiez que tous les types de fichiers que vous spécifiez sont pris en charge par votre application. Les utilisateurs pourront enregistrer leur fichier comme l’un des types de fichiers que vous spécifiez. Ils peuvent également modifier le type de fichier en sélectionnant un autre des types de fichiers que vous avez spécifiés. Le premier choix de type de fichier dans la liste est sélectionné par défaut : pour contrôler cela, définissez la propriété DefaultFileExtension.
Remarque
Le sélecteur de fichiers utilise également le type de fichier actuellement sélectionné pour filtrer les fichiers qu’il affiche, afin que seuls les types de fichiers correspondant aux types de fichiers sélectionnés soient affichés à l’utilisateur.
- Pour réduire le temps de frappe de l'utilisateur, l'exemple définit un nom de fichier suggéré SuggestedFileName. Faites en sorte que votre nom de fichier suggéré soit pertinent pour l’enregistrement du fichier. Par exemple, comme Word, vous pouvez suggérer le nom de fichier existant s’il en existe un ou la première ligne d’un document si l’utilisateur enregistre un fichier qui n’a pas encore de nom.
Remarque
Les objets FileSavePicker affichent le sélecteur de fichiers à l'aide du mode d'affichage PickerViewMode.List.
Afficher le FileSavePicker et enregistrer dans le fichier sélectionné
Affichez le sélecteur de fichiers en appelant PickSaveFileAsync. Une fois que l’utilisateur a spécifié le nom, le type de fichier et l’emplacement, et confirme l’enregistrement du fichier, PickSaveFileAsync retourne un objet StorageFile qui représente le fichier enregistré. Vous pouvez capturer et traiter ce fichier maintenant que vous disposez d’un accès en lecture et en écriture.
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."; }
L’exemple vérifie que le fichier est valide et écrit son propre nom de fichier dans celui-ci. Consultez également Création, écriture et lecture d’un fichier.
Conseil / Astuce
Vous devez toujours vérifier le fichier enregistré pour vous assurer qu’il est valide avant d’effectuer tout autre traitement. Ensuite, vous pouvez enregistrer du contenu dans le fichier selon les besoins de votre application et fournir un comportement approprié si le fichier sélectionné n’est pas valide.
Voir aussi
Fichiers, dossiers et bibliothèques