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下载
热门推荐
- sqlserver怎么修改表结构(SQL Server中修改“用户自定义表类型”问题的分析与方法)
- pythonpulp怎么使用(pyhanlp安装介绍和简单应用)
- .NET项目中的AssemblyInfo文件的介绍
- nginx配置静态资源访问(nginx 多个location转发任意请求或访问静态资源文件的实现)
- mysql首次登录不上怎么办(Mysql匿名登录无法创建数据库问题解决方案)
- vue如何excel表格上传功能(Vue + iView实现Excel上传功能的完整代码)
- 怎么把网站放进云服务器(云服务器可以放几个网站?)
- 学python可以应用到哪些方面(学习python可以干什么)
- idea集成docker-compose(IDEA 集成 docker 实现远程部署的详细步骤)
- C#中的深拷贝与浅拷贝的区别