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

 

时间: 2024-10-28 10:55:09

asp.net实现文件夹及文件压缩,并实现下载的相关文章

Asp.net对文件夹和文件的操作类

asp.net using System;using System.IO;using System.Web; namespace SEC{    /**//// <summary>    /// 对文件和文件夹的操作类    /// </summary>    public class FileControl    {        public FileControl()        {                    }        /**//// <summa

使用ASP和ASP.NET来创建文件夹和文件。

asp.net|创建 ASP: <%sub writefile(file) Response.Write "file:"+file Dim fso, tf  Set fso = CreateObject("Scripting.FileSystemObject")  Set tf = fso.CreateTextFile(file, True)  tf.WriteLine("Testing 1, 2, 3.")  tf.WriteBlankL

Asp.net获取服务器指定文件夹目录文件并提供下载的方法

 这篇文章主要介绍了Asp.net获取服务器指定文件夹目录文件并提供下载的方法,涉及使用http协议操作文件的技巧,需要的朋友可以参考下 本文实例讲述了Asp.net获取服务器指定文件夹目录文件并提供下载的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: string dirPath = HttpContext.Current.Server.MapPath("uploads/"); if (Directory.Exists(dirPath)) { //获得目录信息 Direc

在ASP.NET的页面中显示FTP中的文件夹和文件信息

问题描述 那位兄弟,在ASP.NET做过这种效果,连接FTP并把FTP上的第一层的文件夹或文件显示在ASP.NET的页面上,然后单击文件夹,就在页面上显示你选中的这个文件夹里面一层的文件夹或文件信息,单击文件的话就直接打开文件,还能返回上层文件夹的功能.最好还能过滤文件的类型.我对FTP不是很了解,无法下手.那位可以给点建议.谢了. 解决方案 解决方案二:参考http://blog.csdn.net/downmoon/archive/2008/01/29/2071776.aspxhttp://w

asp.net 检查文件夹和文件是否存在

允许 path 参数指定相对或绝对路径信息. 相对路径信息被解释为相对于当前工作目录. 检查该目录是否存在之前,从 path 参数的末尾移除尾随空格. path 参数不区分大小写. 如果您没有该目录的最小只读权限,exists 方法将返回 false. if directory.exists(path) then                     ' this path is a directory.                     processdirectory(path)  

asp.net编程实现删除文件夹及文件夹下文件的方法_实用技巧

本文实例讲述了asp.net编程实现删除文件夹及文件夹下文件的方法.分享给大家供大家参考,具体如下: //获取文件夹 string path = Server.MapPath("Image"); //获取文件夹中所有图片 if (Directory.GetFileSystemEntries(path).Length > 0) { //遍历文件夹中所有文件 foreach (string file in Directory.GetFiles(path)) { //文件己存在 if

asp.net C#文件操作(追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件)

asp教程.net c#文件操作(追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件) c#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容detele.读取文本文件.获取文件列表.读取日志文件.写入日志文件.创建html 文件.createdirectory方法的使用 c#追加文件 streamwriter sw = file.appendtext(server.mappath(".")+

asp.net遍历文件夹所有文件并列出代码

asp教程.net遍历文件夹所有文件并列出代码 下面的代码是一款c# asp.net教程的文件夹里面的所有文件列出来哦,并且显示了文件创建时间,文件名哦. directoryinfo di;   fileinfo[] filelist;   datagridview dgvlist;   datatable dtable = new datatable();   dtable.columns.add("filename");   dtable.columns.add("cre

用asp实现的获取文件夹中文件的个数的代码_应用技巧

复制代码 代码如下: '返回指定文件夹中文件的数目,传入值为被检测文件夹的硬盘绝对路径 function CountFilesNumber(folderspec) Dim objfso,f,fc Set objfso=CreateObject("Scripting.FileSystemObject") Set f=objfso.GetFolder(folderspec) Set fc=f.Files CountFilesNumber=fc.Count set fc=nothing se

用asp实现的获取文件夹中文件的个数的代码

复制代码 代码如下: '返回指定文件夹中文件的数目,传入值为被检测文件夹的硬盘绝对路径 function CountFilesNumber(folderspec) Dim objfso,f,fc Set objfso=CreateObject("Scripting.FileSystemObject") Set f=objfso.GetFolder(folderspec) Set fc=f.Files CountFilesNumber=fc.Count set fc=nothing se