DotNetZip 可以将二进制流 压缩成ZIP么?要是可以的话,能不能指点一下,或者给个例子也行。万分感激~!DotNetZip.net

解决方案 »

  1.   

    对了。是从数据库读出来的Byte()数组,将他们压缩成zip
      

  2.   

    可以用ICSharpCode.SharpZipLib,它支持直接把内存放入压缩文件。http://www.cnblogs.com/jecray/archive/2007/04/15/sharpziplib.html
      

  3.   

    可以
        class filestream : IStaticDataSource
            {
                Stream sm = null;
                public filestream(string filename)
                {
                    sm = File.Open(filename, FileMode.Open);
                }
                public Stream GetSource()
                {
                    return sm;
                }
            }
            static void Main(string[] args)
            {
                var mms = File.Create("D:\\a.zip");
                ZipFile Zip = ZipFile.Create(mms);
                Zip.BeginUpdate();
                Zip.Add(new filestream("D:\\1.txt"), "1.txt");
                Zip.CommitUpdate();
                Zip.Close();
                Console.ReadLine();
            }
      

  4.   


     public filestream(byte[] bt)
                {
                    sm = new System.IO.MemoryStream();
                    sm.Write(bt, 0, bt.Length);
                }
      

  5.   

    木有问题,我木用过DotNetZip,但是做为一个程序员,如果让我去做一个zip操作类,那么我首先就会支持stream流,而不管他是什么流,文件流也好,内存流也罢,只要是流就应该支撑
      

  6.   

     ZipFile Zip = ZipFile.Create(mms);怎么提示不认识?
      

  7.   

    下载个dll, ICSharpCode.SharpZipLib.Zip
      

  8.   

    哦。公司要求要使用DotNetZip,也就是Ionic.Zip.dll,不知道您有没有使用过这个控件
      

  9.   

    都差不多
     ZipFile Zip = new ZipFile("a.zip");
                Zip.AddEntry("1.txt", bt);//bt is byte[]
                Zip.Save("D:\\a.zip");
      

  10.   

    落叶球我都会,.net有什么难的?哈哈