2017-04-07 63 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