0

此代码是动态创建 zip 存档的有用方法:

(我认为在这里发布整个代码没有帮助)

http://www.codeproject.com/Articles/209731/Csharp-use-Zip-archives-without-external-libraries

我正在使用它来压缩文本文件,以便通过 Response.BinaryWrite 下载。

这是我的实现:

files并且fileNames每个都是List<string>

        // add the files to a zip
        var str = new MemoryStream();
        using (var arc = ZipArchive.OpenOnStream(str))
        {
            for (int i = 0; i < files.Count(); i++)
            {
                using (var fs = arc.AddFile(fileNames[i]).GetStream(FileMode.Open, FileAccess.ReadWrite))
                {
                    System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                    Byte[] bytes = encoding.GetBytes(files[i]);
                    fs.Write(bytes, 0, bytes.Length);
                }
            }
        }

        result = str.GetBuffer();

        // return the zip
        return result;

我的问题是,任何人都可以想出一种将文件存储在存档中单独文件夹中的方法吗?

谢谢你的帮助!

4

0 回答 0