2

Je crée une application Windows 10 UWP. Dans le cadre de cette application, je dois être en mesure de rechercher dans le dossier Téléchargements de l'appareil utilisateur (pas le dossier Téléchargements Apps). J'ai créé un sélecteur de dossier pour que l'utilisateur puisse choisir lui-même le dossier de téléchargement. Cependant, je dois le faire sans l'utilisateur. Voici mon dossier Picker:Utiliser FolderPicker par programmation

FolderPicker picker = new FolderPicker(); 
picker.FileTypeFilter.Add("*"); 
picker.ViewMode = PickerViewMode.List; 
picker.SuggestedStartLocation = PickerLocationId.Downloads; 
StorageFolder folder = await picker.PickSingleFolderAsync(); 

Est-il possible où je pourrais utiliser quelque chose comme dossier Picker, mais codé en dur de sorte que la destination est toujours à un seul endroit (le dossier Téléchargements)?

+0

Vous devez avoir un privilège de ce dossier, vous pouvez utiliser progarmmatically KnownFolders, sinon l'utilisateur devra autoriser l'accès à votre application par sélecteur. Je ne suis pas sûr si vous serez en mesure de contourner cela avec l'API officielle. – Romasz

+0

D'accord avec @Romasz, [DownloadsFolder] (https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.storage.downloadsfolder.aspx) ne pas privde méthode pour rechercher le fichier DownloadsFolder. Il a créer des méthodes de fichiers. –

+0

@JaydenGu Oui, j'ai rencontré la limitation. Je prévoyais de laisser les utilisateurs enregistrer leurs manuels pour les téléchargements, puis vérifier s'ils existaient pour les sauvegarder en les téléchargeant à nouveau. Je ne voulais pas enregistrer de manuels dans mon Sandbox d'applications car ils voudront également les voir en externe de l'application. Retour à la planche à dessin et trouver une autre approche. Merci à tous les deux pour la confirmation qu'il est apprécié. –

Répondre

1

Vous n'êtes pas autorisé à effectuer une recherche dans le dossier Téléchargements, mais si tout ce que vous voulez faire est de retrouver l'accès à un fichier que vous avez précédemment téléchargé, vous pouvez utiliser le FutureAccessList. Vous souhaitez probablement enregistrer le jeton dans le stockage local de votre application afin de ne pas l'oublier. Utilisez le token pour retrouver l'accès au fichier dans le futur.

file = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token);