我需要创建一个包含服务器上存在的文件的压缩文档。我使用Ionic.Zip来做这件事,要创建一个新的包(这是压缩文件),我必须有一个指向物理文件或流的路径。我不想创建一个实际的zip文件,而只是创建一个存在于内存或其他地方的流。我该怎么做呢?
发布于 2012-09-13 13:34:13
然后使用MemoryStream创建包。
发布于 2012-09-13 13:49:17
您可以尝试在ZipFile类中使用save方法。它可以保存到流中,试试这个。
using (MemoryStream ms = new MemoryStream())
{
using (Ionic.Zip.ZipFile zipFile = new Ionic.Zip.ZipFile())
{
zipFile.AddFiles(filesToBeZipped, false, "NewFolder");//filesTobeZipped is a List<string>
zipFile.Save(ms);
}
}发布于 2013-09-05 23:45:36
您需要在创建的ZipFile上使用.AddEntry方法,指定名称和包含实际文件数据的byte[]。
例如。
ZipFile zipFile = new ZipFile();
zipFile.AddEntry(file.FileName, file.FileData);其中file.FileName是条目名称(在压缩文件中),file.FileData是字节数组。
https://stackoverflow.com/questions/12399967
复制相似问题