在asp.net?

时间:2016-06-15 11:25:35

标签: c# asp.net zip zlib zipfile

我有文件夹结构,我有一个名为Home的根文件夹。 在主文件夹中我有3个子文件夹和5个文件。 当我使用ionic.zip时,我能够压缩这个Home文件夹的所有文件。但我无法保持相同的文件夹结构。

string[] filePaths = Directory.GetFiles("filepath","*",SearchOption.AllDirectories);
if (filePaths.Length > 0)
{
    foreach (string fileURl in filePaths)
    {
        zip.AddFile(fileURl, "VisaFiles");              
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用ZipFile类System.IO.Compression.FileSystem

class Program
{
    static void Main(string[] args)
    {
        string startPath = @"c:\example\start";
        string zipPath = @"c:\example\result.zip";
        string extractPath = @"c:\example\extract";

        ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest,true);

        ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
}

您必须在引用中包含System.IO.Compression.FileSystem.dll。