web-dev-qa-db-fra.com

Obtention de tous les fichiers dans le dossier d'application UWP

Pour UWP, il est facile d'obtenir tous les fichiers dans le dossier local de l'application sous la forme:

IReadOnlyList<StorageFile> files = await ApplicationData.Current.LocalFolder.GetFilesAsync();

Vous pouvez maintenant parcourir la liste files et même obtenir plus d'informations sur les fichiers individuels.

Je voudrais un getter de fichiers similaire pour un dossier d'application, par exemple, considérez le dossier / Assets où sont stockés les fichiers de l'application *. Png. Un seul fichier avec un nom connu ne pose aucun problème; Je peux y faire référence assez facilement comme:

StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Assets/StoreLogo.png"))

Ma question est donc la même chose pour obtenir tous les fichiers dans un dossier d'application, comme / Assets dossier? Logiquement, cela devrait être quelque chose comme StorageFile.GetFilesFromApplicationFolderUriAsync(new Uri(@"ms-appx:///Assets")) mais sans savoir s'il existe un équivalent du LocalFolder illustré ci-dessus.

19
user5525674

Vous pouvez accéder à votre dossier d'installation en utilisant Package.InstalledLocation . Par conséquent, votre code peut ressembler à ceci:

StorageFolder appInstalledFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder assets = await appInstalledFolder.GetFolderAsync("Assets");
var files = await assets.GetFilesAsync();
38
Romasz
var storageFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync("Assets");
var files = await storageFolder.GetFilesAsync();

https://docs.Microsoft.com/en-us/uwp/api/windows.storage.applicationdata

0
rubStackOverflow