我正在尝试从流创建一个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");
}
该代码存在许多问题,
任何建议
答案 0 :(得分:1)
输出上的最有可能位置在压缩后设置为流的末尾,请检查此项。 并且,除非您将实现一些proxyfying流(它将处理.Write方法并将此数据发送到FTP),否则您需要内存/文件流来存储压缩数据。