使用Ionic.Zip在asp中创建zip文件时如何将文件夹添加到文件夹

Jam*_*ndy 2 c# asp.net zipfile dotnetzip

我能够.zip使用AddDirectoryByName和成功创建一个文件AddFile,我的代码如下:-

using (ZipFile zip = new ZipFile())
{
    zip.AlternateEncodingUsage = ZipOption.AsNecessary;
    zip.AddDirectoryByName("A");
    zip.AddFile("~/.png", "A");
}
Run Code Online (Sandbox Code Playgroud)

但发生的情况是,它按名称创建一个文件夹,A 并在其中添加一个文件(例如.png)。

但是我想将此文件夹A放在另一个名为“Root”的文件夹中,那么现在如何创建一个名为Root.zip 的文件夹并将文件夹添加A到该文件夹中Root

感谢任何帮助。

Van*_*nna 6

Simply use the full path name when creating a new directory.

using(ZipFile zip = new ZipFile())
{
    string directoryA = "Root/A";
    string directoryB = "Root/B";

    zip.AddEntry($"{directoryA}/readmeA.txt", "Success from Directory A");           
    zip.AddEntry($"{directoryB}/readmeB.txt", "Success from Directory B");

    zip.Save("file.zip");
}
Run Code Online (Sandbox Code Playgroud)