2012-12-13 25 views
1

根據this文章,我們只有對Downloads文件夾的寫入權限 - 這似乎得到我所發現的支持。 WinRT中有沒有解決這個問題的方法?我希望能夠遍歷下載文件夾中的文件。訪問WinRT中的Windows下載文件夾

回答

5

Here的關於這一主題的官方文檔:

所有的應用程序可以在下載文件夾中創建文件和文件夾可以 訪問,他們創建的文件。但是應用程序無法訪問他們未創建的文件夾。

當您的應用程序在Downloads文件夾中創建文件時,其他應用程序不能 干擾或訪問您的文件,除非用戶明確授予 其他應用程序訪問權限。通過從文件選擇器中選擇文件,用戶可以通過其他應用訪問您的 文件。您的應用也可以使用文件選取器 訪問它未創建的下載文件夾 中的文件。

因此,不:無法在沒有用戶干預的情況下枚舉或遍歷文件夾中的所有文件。你可以把它,不過,如果你的用戶選擇了FolderPicker的文件夾:

var picker = new FolderPicker(); 
picker.FileTypeFilter.Add("*"); 
var folder = await picker.PickSingleFolderAsync(); 
foreach (var file in await folder.GetFilesAsync()) 
{ 
    // do something with each file 
} 

後你得到的參考StorageFolder,你甚至可以將它存儲在MostRecentlyUsedList這樣您就可以訪問它的未來,而不不必再次選擇它的用戶:

var token = StorageApplicationPermissions.MostRecentlyUsedList.Add(folder); 

你只需要存儲返回的標記再次得到它的訪問:

var folder = await StorageApplicationPermissions.MostRecentlyUsedList.GetFolderAsync(token); 
相關問題