【问题标题】:Xamarin Forms UWP: Access all files within a folderXamarin Forms UWP:访问文件夹中的所有文件
【发布时间】:2020-05-23 02:37:28
【问题描述】:

我的应用程序需要访问文件夹中的所有 (.mp3) 文件

var folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads\\Test\\Folder\\");
var files = Directory.GetFiles(folder);

但我收到“Folder 访问被拒绝”

我在 Package.appxmanifest 中添加了 broadFileSystemAccess 功能,但没有成功。

我也尝试了其他文件夹,例如 SpecialFolder.LocalApplicationDataSpecialFolder.MyDocuments,但同样没有运气

【问题讨论】:

    标签: xamarin.forms xamarin.uwp


    【解决方案1】:

    根据您的描述,我使用您的代码访问下载文件夹,它还显示:文件夹访问被拒绝。

    但是我使用下面的代码来访问Downloads文件夹,你可以看看:

    private  void Btn1_Clicked(object sender, EventArgs e)
        {
            DirSearch(@"C:\Users\cherryb\Downloads\test");
        }
        public async void DirSearch(string sDir)
        {
    
            var folder = await StorageFolder.GetFolderFromPathAsync(sDir);
    
            foreach (var Folder in await folder.GetFoldersAsync())
            {
                Console.WriteLine(Folder.Name);              
            }
    
    
        }
    

    你需要添加这个命名空间

    xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
    

    并更新 IgnorableNamesSpaces

     IgnorableNamespaces="uap mp rescap"
    

    添加新功能

    <Capabilities>
    <Capability Name="internetClient" />    
    <rescap:Capability Name="broadFileSystemAccess" />
    </Capabilities>
    

    更多关于文件系统访问的详细信息,你可以看看:

    https://www.jocheojeda.com/2019/01/26/xamarin-forms-uwp-uap-broad-file-system-access/

    您可以获得一个样本:

    https://github.com/egarim/Xamarin-Forms-UWP-UAP-Broad-File-System-Access

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2016-02-17
      • 1970-01-01
      相关资源
      最近更新 更多