ASP.NET文件打包压缩下载
类别:编程学习 浏览量:1339
时间:2016-11-22 ASP.NET文件打包压缩下载
ASP.NET文件打包压缩下载一、下载或者在Nuget里安装 SharpZipLib 这个dll
二、实现实例
1、创建如下项目,结构如下
2、在一般处理程序 Handler1.ashx 文件中加入如下方法
///<summary>
/// 批量压缩打包下载
/// </summary>
/// <param name="fileName">文件名称,多个用 '|' 分割</param>
/// <param name="filePath">文件虚拟路径,多个用 '|' 分割</param>
public static void DownLoadFiles(string fileName, string filePath)
{
List<string> fileNames = fileName.Split('|').ToList();
List<string> filePaths = filePath.Split('|').ToList();
MemoryStream ms = new MemoryStream();
byte[] buffer = null;
using (ZipFile file = ZipFile.Create(ms))
{
file.BeginUpdate();
file.NameTransform = new MyNameTransfom();
filePaths.ForEach(t =>
{
file.Add(HttpContext.Current.Server.MapPath(t));
});
file.CommitUpdate();
buffer = new byte[ms.Length];
ms.Position = 0;
ms.Read(buffer, 0, buffer.Length);
}
string ss = "Test";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + ss + ".zip");
HttpContext.Current.Response.BinaryWrite(buffer);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
三、实例方法的调用
public void ProcessRequest(HttpContext context)
{
DownLoadFiles("xxx", "~/Pic/00.gif|~/Pic/02.png");
}
四、查看下载效果
打开或者保存后,Test.zip压缩文件中,就包含 Pic文件夹里面的 00.gif、02.png 两张图片
标签:ASP.NET下载
热门推荐
- border和background区别(css中background-origin属性的使用解析)
- vue中如何判断请求状态码(关于VUE的编译作用域及slot作用域插槽问题)
- 在谷歌浏览器中模拟网站在网络慢的访问速度
- sqlserver实现登录注册(Sqlserver创建用户并授权的实现步骤)
- python为什么要用多进程(对Python的多进程锁的使用方法详解)
- python的4种数字变量(Python将字符串常量转化为变量方法总结)
- php日期和时间怎么设置(PHP实现时间日期友好显示实现代码)
- rabbitmq客户端内存占用(mysql-canal-rabbitmq 安装部署超详细教程)
- nginx负载均衡5种方法(Nginx如何配置负载均衡)
- python的解释器怎么安装其他版本(在Python文件中指定Python解释器的方法)