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下载
热门推荐
- php 模拟登录验证码demo(PHP 模拟登陆功能实例详解)
- web图片优化方法(网站性能延迟加载图像的五种技巧小结)
- 微信小程序多人编辑表格(微信小程序实现固定表头、列表格组件)
- ASP.NET中Obsolete属性
- dockerregistry原理(解决Docker x509 insecure registry的问题)
- python本地ocr库(详解Python安装tesserocr遇到的各种问题及解决办法)
- aspx文件中CodeFile与CodeBehind的区别
- smartbattery插件正确使用方法(Smarty模板配置实例简析)
- 虚拟主机已被禁用(虚拟主机提示网站被暂停了是怎么回事?)
- nginx负载均衡高怎么用(Nginx + consul + upsync 完成动态负载均衡的方法详解)