即时压缩使用Ionic.Zip c#
本文关键字:Zip Ionic 即时压缩 | 更新日期: 2023-09-27 18:10:04
我试图从流中创建一个zip文件,并返回一个流,我的问题是我不想在本地硬盘或内存中存储任何数据。我使用的是Ionic.Zip
库
Stream output = new MemoryStream();
using (ZipFile zip = new ZipFile())
{
Stream s = ftpManager.GetFileStream("/mydoc.docx");
ZipEntry e = zip.AddEntry("Content-From-Stream.bin", s);
e.Comment = "The content for entry in the zip file was obtained from a stream";
//zip.AddFile("Readme.txt");
zip.Save(output);
}
if (output != null)
{
ftpManager.Upload(output, "/MohamedTest/mydoc.zip");
}
代码中有很多问题,
- 首先,我使用MemoryStream,这是不可取的 第二,压缩后的压缩文件为空
有什么建议
最可能的输出位置在压缩后被设置为流的末尾,请检查。而且,除非您将实现一些代理流(它将处理。write方法并将此数据发送到FTP),否则您需要内存/文件流来存储压缩数据。