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

编程教程 2019-01-03 14:20149未知admin
步骤
 
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 

全部评论 / 0

    Copyright © 2018 玖元模板网 版权所有 备案号:黔ICP备18002235号-1

    联系QQ: 1379666194 邮箱地址:1379666137@qq.com
    发帖