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

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

編輯:.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];
       &nbs
p;       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:\\華海實訓(hohisoft.com)各級賬號和密碼";
         
               dlZipDir(userPath, "華海實訓(hohisoft.com)服務賬號");

 

        }

       #endregion

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