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();
                     }
  • 相关阅读:
    2014 非常好用的开源 Android 测试工具
    Android 开发最佳实践
    Java_综合案例DAO设计模式(重要)
    Java_Set接口
    Java_List
    Java_类集框架简介
    Java_对象序列化
    Java_打印流
    Java_IO编程
    Java_文件操作
  • 原文地址:https://www.cnblogs.com/chai1338/p/2693436.html
Copyright © 2011-2022 走看看