【问题标题】:UWP ZipFile.CreateFromDirectoryUWP ZipFile.CreateFromDirectory
【发布时间】:2017-09-03 01:25:50
【问题描述】:

我有以下代码

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

任何想法如何解决?其他代码访问这些文件夹没有问题。

【问题讨论】:

  • 如果您从其他程序包运行此代码,那么它现在将允许从其他应用程序的本地存储读取内容。 ApplicationData.Current.LocalFolder 仅指向 LocalState 文件夹。

标签: c# file-io uwp


【解决方案1】:

我认为这里的问题是您在 ZipFile.CreateFromDirectory 方法中使用了错误的路径作为 destinationArchiveFileName

对于一个有效的路径,它应该是ApplicationData.Current.LocalFolder.Path + "\\backup.zip"

一旦你像下面这样改变你的代码,它应该可以工作了。

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

【讨论】:

  • 你是绝对正确的。非常感谢您的回答。
  • 这不是一个严格的 UWP 答案,因为 ZipFile 类是 .NET 库的一部分,而不是 UWP 库。它只对同时使用 C# 的人有用,但不适用于使用另一种语言的人
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-12
  • 2021-03-09
  • 2020-04-20
相关资源
最近更新 更多