此代码是即时创建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;
我的问题是,有人会想到将文件存储在档案中的单独文件夹中的方法吗?
感谢您的帮助!