繁体   English   中英

使用Ionic.Zip C#即时压缩

[英]On-the-fly zipping using Ionic.Zip c#

我试图从流中创建一个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),否则您需要内存/文件流来存储压缩后的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM