//方法代码
MemoryStream ms = new MemoryStream();
byte[] buffer = null;

using (ZipFile file = ZipFile.Create(ms))
{
file.BeginUpdate();
file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。

file.Add(Server.MapPath("~/1.txt"));
file.Add(Server.MapPath("~/1.txt"));
file.Add(Server.MapPath("~/1.txt"));

file.CommitUpdate();

buffer = new byte[ms.Length];
ms.Position = 0;
ms.Read(buffer, 0, buffer.Length);
}

Response.AddHeader("content-disposition", "attachment;filename=Test.zip");
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();

新建一个NameTransfom类

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

最新文章

  1. ETL利器Kettle
  2. Intent组件的传参应用
  3. 【PHP面向对象(OOP)编程入门教程】5.如何实例化对象?
  4. android常见面试问题
  5. 《javascript高级程序设计》第22章 高级技巧
  6. (easy)LeetCode 205.Reverse Linked List
  7. 百度贴吧的网络爬虫(v0.4)源码及解析
  8. 初识QML学习机制
  9. 手机自动化测试:Appium代码之Logger
  10. 关于System.Windows.Forms.DateTimePicker的一个Bug
  11. mac中使用 sourcetree 的快速配置和git服务器登录
  12. Asp.net MVC 简单实现生成Excel并下载
  13. Flex中获取RadioButtonGroup中的RadioButton的值
  14. Let’s Encrypt 通配符证书申请配置
  15. Ubuntu16.04修改IP及时生效
  16. python 简单的串口收发数据
  17. Asp.net core 学习笔记 ( Smtp and Razor template 电子邮件和 Razor 模板 )
  18. 逆袭之旅DAY16.东软实训.Oracle.索引
  19. Vue.js 生命周期的应用
  20. javascript精雕细琢(四):认亲大戏——通过console.log彻底搞清this

热门文章

  1. 关于HTTP协议学习(一)
  2. 微信小程序区分点击,长按事件
  3. 创建一个vue单页面应用
  4. angular脚手架搭建
  5. 写一个方法,用于解读 url 后面的请求参数,最终得到 {"a":2,"b":3,"c":4};
  6. ArcGIS为面要素生成邻接矩阵
  7. flask shell命令
  8. 安装rosetta2016时出现git@172.16.25.11s password: \r\nPermission denied错误,解决方法。
  9. nginx+fastCGI
  10. mysqlworkbench访问远程服务器