2013-04-06 61 views
2

我想从我的wp8 pnone中获取sd中的文件和文件夹。我使用的代码:无法从文件夹中获取文件

 private async void GetFilesAcync() 
    { 
     ExternalStorageDevice _sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault(); 

     if (_sdCard != null) 
     { 
      ExternalStorageFolder routesFolder = _sdCard.RootFolder; 

      IEnumerable<ExternalStorageFolder> folders = await routesFolder.GetFoldersAsync(); 

      IEnumerable<ExternalStorageFile> files = await routesFolder.GetFilesAsync(); 

      foreach (var file in files) 
      { 
       names.Add(file.Name); 
      } 

      foreach (var folder in folders) 
      { 
       names.Add(folder.Name); 
      } 

      MessageBox.Show(names.Count.ToString()); 
      mainLLS.ItemsSource = names; 
     } 
    } 

的问题是,我可以看到文件夹,但没有文件(它们存在于SD,但在IEnumerable<ExternalStorageFile> files没有)。所以,当我启动代码时 - 我可以看到文件夹,但没有文件。我试图删除获取文件夹的代码,只留下必须获取文件的代码,但没有结果。有什么办法可以解决这个问题吗?我做错了什么?

回答

1

你只能访问特定类型的文件 - 也就是说,文件类型(S)应用程序与

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj720573(v=vs.105).aspx

+0

好吧,不是相关的,你会说这件事吗? http://dotnet.dzone.com/articles/building-file-picker-windows作者使用相同的方式获取文件,并且,正如我所看到的,它可以工作。 – 2013-04-06 07:51:46

+0

不要把你刚刚链接的文章的最后几行也提到同样的事情? – 2013-04-06 15:04:14

+0

我很害怕,我不明白你的意思。无论如何,我展示的示例,使用相同的方法'await routesFolder.GetFilesAsync()',它不适合我 – 2013-04-07 05:27:59