如何在Asp.Net中创建Zip文件?

时间:2013-02-10 11:26:24

标签: asp.net

在ASP.NET 2.0中,我们需要将多个文件夹及其文件一起使用。我们的要求是获取所有文件夹并需要创建一个zip文件。任何人都可以帮助我。

感谢。

2 个答案:

答案 0 :(得分:0)

  1. 下载SharpZipLib,这是一个比较流行的zip库
  2. 添加对ICSharpCode.SharpZipLib.dll
  3. 的引用

    您可以在下载SharpZipLib时查看代码示例,以了解如何压缩和解压缩文件,这是一个示例:

        public static void Main(string[] args)
        {
            ZipFiles("D:\\SharpZip","D:\\Zipped.zip");
        }
    
        private static void ZipFiles(string inputDirectory, string outputDirectory)
        {
            if (Directory.Exists(inputDirectory))
            {
                string[] filenames = Directory.GetFiles(inputDirectory);
    
                using (ZipOutputStream zipStream = new ZipOutputStream(File.Create(outputDirectory)))
                {
                    zipStream.SetLevel(9);
                    byte[] buffer = new byte[4096];
    
                    foreach (string file in filenames)
                    {
                        ZipEntry entry = new ZipEntry(Path.GetFileName(file));
                        entry.DateTime = DateTime.Now;
                        zipStream.PutNextEntry(entry);
                        using (FileStream fs = File.OpenRead(file))
                        {
                            int sourceBytes;
                            do
                            {
                                sourceBytes = fs.Read(buffer, 0, buffer.Length);
                                zipStream.Write(buffer, 0, sourceBytes);
                            } while (sourceBytes > 0);
                        }
                    }
                    zipStream.Finish();
                    zipStream.Close();
                }
            }
        }
    

答案 1 :(得分:0)