程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> asp.net實現文件夾及文件壓縮,並實現下載

asp.net實現文件夾及文件壓縮,並實現下載

編輯:關於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

     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved