3 votes

Écrire un fichier dans le dossier Téléchargements avec UWP va-t-il dans le stockage isolé ?

Je dois créer un fichier dans le dossier de téléchargement pour une UWA sur Windows 10 et copier le contenu d'un fichier existant dedans. J'utilise le code suivant :

StorageFile cleanFile = await Windows.Storage.DownloadsFolder.CreateFileAsync(cleanFileName);

await file.CopyAndReplaceAsync(cleanFile);

Cela fonctionne bien, mais le fichier est stocké dans ce dossier :

C:\Users\MyUser\Downloads\e15e6523-22b7-4188-9ccf-8a93789aa8ef_t8q2xprhyg9dt!App\WordComment-clean.docx

Je suppose que c'est une sorte de stockage isolé. Mais en réalité, ce n'est pas ce dont j'ai besoin. Puisque l'utilisateur ne peut pas voir le fichier de cette manière.

4voto

ganchito55 Points 2370

De MSDN :

Dossier de téléchargements de l'utilisateur. Le dossier où les fichiers téléchargés sont enregistrés par défaut.

Par défaut, votre application ne peut accéder qu'aux fichiers et dossiers du dossier de téléchargements de l'utilisateur que votre application a créés. Cependant, vous pouvez accéder aux fichiers et dossiers du dossier de téléchargements de l'utilisateur en appelant un sélecteur de fichiers (FileOpenPicker ou FolderPicker) afin que les utilisateurs puissent naviguer et choisir des fichiers ou dossiers que votre application peut accéder.

Si vous n'utilisez pas de sélecteur de fichiers, vous enregistrez le fichier dans votre dossier d'application dans Téléchargements.

Source

Utilisation du dossier de téléchargements

Pour utiliser le dossier de téléchargements, l'utilisateur doit sélectionner le dossier de téléchargements manuellement.

FolderPicker picker = new FolderPicker { SuggestedStartLocation = PickerLocationId.Downloads };
    picker.FileTypeFilter.Add("*");
    StorageFolder folder = await picker.PickSingleFolderAsync();
    if (folder != null) {
           await folder.CreateFileAsync("Hello1.txt");  
    }

J'espère que cela peut vous aider.

0voto

Elisha Points 1

Essayer ceci : await file.CopyAndReplaceAsync(cleanFile); await file.RenameAsync("le nom que vous voulez")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X