2013-05-13 163 views
0

我已經按照我的Windows 8/RT的應用程序代碼:下載文件並將其保存在獨立存儲

public static async Task<StorageFile> SaveAsync(Uri fileUri, StorageFolder folder, string fileName) 
    { 
     try 
     { 
      var file = await folder.CreateFileAsync(fileName); 
      var downloader = new BackgroundDownloader(); 
      var download = downloader.CreateDownload(fileUri, file); // here Exeption is fired 
      var res = await download.StartAsync(); 
      return file; 
     } 
     catch (Exception e) 
     { 
      Debug.WriteLine(ex.Message); 
     } 
     return null; 
    } 

ex.message:Access denied

注:
file - 這是一個正確的StorageFileContentType=image/jpg
fileUri - 它是正確的圖像uri
folder - 它是正確的存儲文件夾。

我錯過了什麼?

回答

0

我發現小錯誤:
我忘了,那fileUri是Uri到本地服務器。只需添加嵌套屬性來顯示固定的問題。

1

當您調用代碼時,folder的值是多少?您可能需要將Package.appxmanifest中的功能添加到相應的文件夾(例如圖片文件夾,文檔文件夾)。

默認情況下,Modern UI應用程序的沙盒特性意味着它只能顯式訪問它自己的本地文件夾(想象它像隔離存儲)。爲了訪問其他位置,清單文件必須聲明它需要訪問這些其他位置。可用的位置是相當有限的。

但是,如果使用「保存文件選取器」,則可以訪問更大範圍的保存文件的位置。

+0

文件夾(Windows.Storage.StorageFolder):Atr:Dirrectory,顯示類型:文件夾..你還想知道什麼?在這個文件夾中,我不僅要保存圖像,而且要保存pdf和其他文件。 – jimpanzer 2013-05-13 11:51:29

+1

@jimpanzer在Win8中,例如,你想要訪問文檔文件夾,那麼你需要在應用程序清單中明確地這樣說:http://msdn.microsoft.com/en-us/library/windows/apps /hh464936.aspx – 2013-05-13 11:54:08

相關問題