2013-04-06 68 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