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下载
热门推荐
- lazyload延迟加载有什么影响(利用原生JS实现懒加载lazyLoad的三种方法总结)
- jQuery如何跳出each循环
- pythoncsv格式转换(Python把对应格式的csv文件转换成字典类型存储脚本的方法)
- python如何编写一个用户登录系统(Python实现的登录验证系统完整案例基于搭建的MVC框架)
- sqlserver实例全库备份(sql server通过脚本进行数据库压缩全备份的方法推荐)
- docker容器里面有java运行环境吗(利用 Docker 构建简单的 java 开发编译环境的方法详解)
- stylus、sass、less区别
- django mysql设置(Django框架使用mysql视图操作示例)
- .NET使用Html Agility Pack解析html
- dedecms语法教程(dedecms 获取描述信息限制字数的语法)