2017-04-07 61 views
1

我有以下代碼UWP ZipFile.CreateFromDirectory

private static async Task CreateZipFile(string folderPath) 
{ 
    await Task.Run(() => 
    { 
     try 
     { 
      ZipFile.CreateFromDirectory(folderPath, ApplicationData.Current.LocalFolder.Path + "backup.zip"); 
     } 
     catch (Exception e) 
     { 
      ; 
     } 
    }); 
} 

在我UWP應用程序。不過,我在LocalFolder上遇到拒絕訪問錯誤。 我試圖壓縮的目錄是在我LocalState文件夾,以便

folderPath = C:\Users\username\AppData\Local\Packages\MyApp_3y0bchp7kwvet\LocalState\BACKUP 

任何想法如何解決?其他代碼訪問這些文件夾沒有問題。

+0

如果您從其他軟件包運行此代碼,則它現在允許從另一個應用程序的本地存儲讀取內容。 ApplicationData.Current.LocalFolder僅指向LocalState文件夾。 –

回答

2

我想這裏的問題是,您使用了錯誤的路徑destinationArchiveFileName in ZipFile.CreateFromDirectory method。

對於有效的路徑,它應該是ApplicationData.Current.LocalFolder.Path + "\\backup.zip"

一旦你改變了你的代碼,如下所示,它應該能夠工作。

ZipFile.CreateFromDirectory(folderPath, ApplicationData.Current.LocalFolder.Path + "\\backup.zip"); 
+0

你是絕對正確的。非常感謝答案。 – RCairns