zoukankan      html  css  js  c++  java
  • 压缩文件

    View Code
    using ICSharpCode.SharpZipLib;
    
    using ICSharpCode.SharpZipLib.Checksums;
    
    using ICSharpCode.SharpZipLib.Zip;
    
    using ICSharpCode.SharpZipLib.GZip;
    
    using ICSharpCode.SharpZipLib.BZip2;
    
    
    using ICSharpCode.SharpZipLib.Zip.Compression;
    
    using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
    
     public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform
        {
    
            #region INameTransform 成员
    
            public string TransformDirectory(string name)
            {
                return null;
            }
    
            public string TransformFile(string name)
            {
                return Path.GetFileName(name);
            }
    
            #endregion
        }
    
    例子:
    string imgs = Convert.ToString(dr["imgsUrl"]);
                     string name = dr["JingDianName"].ToString();
                     if (imgs != null & imgs != "")
                     {
    
                         string[] sArray = imgs.Split('|');
                         IList<string> listItem = new List<string>();
                       
                         MemoryStream ms = new MemoryStream();
                         byte[] buffer = null;
    
                         using (ZipFile file = ZipFile.Create(ms))
                         {
                             file.BeginUpdate();
                             file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。
                            
                             foreach (string item in sArray)
                             {
                                 string img_url = "~" + item;
    
                                 file.Add(Server.MapPath(img_url));
                             }
                             file.CommitUpdate();
    
                             buffer = new byte[ms.Length];
                             ms.Position = 0;
                             ms.Read(buffer, 0, buffer.Length);
                         }
    
    
                         Response.AddHeader("content-disposition", "attachment;filename=Images.zip");
                         Response.BinaryWrite(buffer);
                         Response.Flush();
                         Response.End();
                     }
  • 相关阅读:
    电源积累
    电感的分类及作用
    电容退耦原理分享
    电容选型
    上拉电阻
    LVTTL与LVCMOS区别
    可重入函数与不可重入函数
    永不改变的PCB设计黄金法则
    os_cpu_a.asm
    [原创]Getting Started with Skywalking
  • 原文地址:https://www.cnblogs.com/chai1338/p/2693436.html
Copyright © 2011-2022 走看看