asp.net实现文件夹及文件压缩,并实现下载(一)
2012-04-26 14:16
651 查看
asp.net实现文件夹及文件压缩,并实现下载(一)
步骤1)先引用 ICSharpCode.SharpZipLib.dll;
2).cs文件引入
using System.IO;
using System.Text;
using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;
3)代码
#region 下列代码为压缩并下载代码
ZipOutputStream zos = null;
String strBaseDir = "";
void dlZipDir(string strPath, string strFileName)
{
MemoryStream ms = null;
Response.ContentType = "application/octet-stream";
strFileName = HttpUtility.UrlEncode(strFileName).Replace('+', ' ');
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName + ".zip");
ms = new MemoryStream();
zos = new ZipOutputStream(ms);
strBaseDir = strPath + "\\";
addZipEntry(strBaseDir);
zos.Finish();
zos.Close();
Response.Clear();
Response.BinaryWrite(ms.ToArray());
Response.End();
}
void addZipEntry(string PathStr)
{
DirectoryInfo di = new DirectoryInfo(PathStr);
foreach (DirectoryInfo item in di.GetDirectories())
{
addZipEntry(item.FullName);
}
foreach (FileInfo item in di.GetFiles())
{
FileStream fs = File.OpenRead(item.FullName);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string strEntryName = item.FullName.Replace(strBaseDir, "");
ZipEntry entry = new ZipEntry(strEntryName);
zos.PutNextEntry(entry);
zos.Write(buffer, 0, buffer.Length);
fs.Close();
}
}
PRotected void Button2_Click(object sender, EventArgs e)
{
string userPath ="D:\\华海实训(qqview.com)各级账号和密码"; //文件路径
dlZipDir(userPath, "华海实训(qqview.com)服务账号"); //压缩后的文件名
}
#endregion
本篇文章来源于编程入门教程网(www.qqview.com) 原文出处:http://www.qqview.com/WebForm/ASP_NET/14375.html
如果是压缩小型的文件的话,以上代码是么有啥问题的,只要文件不超过150M
相关文章推荐
- asp.net实现文件夹及文件压缩,并实现下载(二)——文件超过150M
- asp.net实现文件夹及文件压缩,并实现下载(三)——文件超过150M
- asp.net实现文件夹及文件压缩,并实现下载
- 在ASP.NET中实现压缩多个文件为.zip文件,实现批量下载功能
- 实现asp.net的文件压缩、解压、下载
- 实现asp.net的文件压缩、解压、下载
- C#/ASP.NET/WinForm 通过ICSharpCode.SharpZipLib.dll实现文件夹、文件的压缩与解压
- 在ASP.NET中实现压缩多个文件为.zip文件,实现批量下载功能 (转载并优化处理篇)
- 在ASP.NET中实现压缩多个文件为.zip文件,实现批量下载功能
- Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载).NET技术
- ASP.NET实现文件下载
- ASP.NET 大文件下载的实现思路及代码
- ASP.NET 大文件下载的实现思路及代码
- 文件的下载(ASP.NET实现邮箱中附件下载的功能)
- asp.net中多种实现文件下载功能
- ASP.NET 大文件下载的实现思路及代码
- [导入]Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)
- Asp.net中文件上传下载的简单实现
- ASP.NET使用Response.WriteFile(filename);实现 文件下载
- Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)