设为首页 - 加入收藏
广告 1000x90
您的当前位置:主页 > 教程 > 编程教程 > 正文

asp.net实现文件夹及文件压缩,并实现下载

来源:未知 编辑:admin 时间:2015-09-02

步骤

1)先引用 ICSharpCode.SharpZipLib.dll;
 

2).cs文件引入

  1. using System.IO; 
  2. using System.Text; 
  3. using ICSharpCode.SharpZipLib.Checksums; 
  4. using ICSharpCode.SharpZipLib.Zip; 
  5. using ICSharpCode.SharpZipLib.GZip; 


3)代码
#region 下列代码为压缩并下载代码     

  1. ZipOutputStream zos = null
  2.       String strBaseDir = ""
  3.  
  4.  
  5.       void dlZipDir(string strPath, string strFileName) 
  6.       { 
  7.           MemoryStream ms = null
  8.           Response.ContentType = "application/octet-stream"
  9.           strFileName = HttpUtility.UrlEncode(strFileName).Replace('+'' '); 
  10.           Response.AddHeader("Content-Disposition""attachment;   filename=" + strFileName + ".zip"); 
  11.           ms = new MemoryStream(); 
  12.           zos = new ZipOutputStream(ms); 
  13.           strBaseDir = strPath + "\\"
  14.           addZipEntry(strBaseDir); 
  15.           zos.Finish(); 
  16.           zos.Close(); 
  17.           Response.Clear(); 
  18.           Response.BinaryWrite(ms.ToArray()); 
  19.           Response.End(); 
  20.       } 
  21.  
  22.       void addZipEntry(string PathStr) 
  23.       { 
  24.           DirectoryInfo di = new DirectoryInfo(PathStr); 
  25.           foreach (DirectoryInfo item in di.GetDirectories()) 
  26.           { 
  27.               addZipEntry(item.FullName); 
  28.           } 
  29.           foreach (FileInfo item in di.GetFiles()) 
  30.           { 
  31.               FileStream fs = File.OpenRead(item.FullName); 
  32.               byte[] buffer = new byte[fs.Length]; 
  33.               fs.Read(buffer, 0, buffer.Length); 
  34.               string strEntryName = item.FullName.Replace(strBaseDir, ""); 
  35.               ZipEntry entry = new ZipEntry(strEntryName); 
  36.               zos.PutNextEntry(entry); 
  37.               zos.Write(buffer, 0, buffer.Length); 
  38.               fs.Close(); 
  39.           } 
  40.       }   
  41.       
  42.  
  43.       PRotected void Button2_Click(object sender, EventArgs e) 
  44.        { 
  45.            string userPath ="D:\\华海实训(qqview.com)各级账号和密码"
  46.         
  47.               dlZipDir(userPath, "华海实训(qqview.com)服务账号"); 
  48.  
  49.        } 
  50.  
  51.       #endregion 

 

相关文章:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

模板天下 www.mobantianxia.com 联系QQ:498872301 邮箱:[email protected]

Copyright © 2002-2011 DEDECMS. 织梦科技 版权所有 Power by DedeCms

Top