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:华海实训(hohisoft.com)各级账号和密码";
         
               dlZipDir(userPath, "华海实训(hohisoft.com)服务账号");  
        }

       #endregion

时间: 2024-08-03 14:56:23

asp.net用代码压缩服务器上文件夹或文件的相关文章

代码-从服务器上下载的压缩文件,通过流的方式怎么读取文件中的内容。

问题描述 从服务器上下载的压缩文件,通过流的方式怎么读取文件中的内容. 如何用java代码实现压缩文件的读取? 例如从银行服务器上下载对账文件后,为了不在本地保存文件. 压缩文件中的文件格式是俩个文本文件,怎么用流的方式读取到压缩文件中的文件内容. 解决方案 ZipEntry http://daoshud1.iteye.com/blog/2012362 解决方案二: http://www.cnblogs.com/kgdxpr/archive/2013/05/20/3088254.html 解决方

代码-.net B/S结构的程序 客户端如何播放服务器上的WAV音乐文件

问题描述 .net B/S结构的程序 客户端如何播放服务器上的WAV音乐文件 首先我的程序是B/S结构的 服务器上有一个自动录音功能,文件路径如:D:/RecordFile/[2014-12-10]/82237883_13920701254_20141210141256.wav 这个路径是存在数据库中的,可以直接取到数据. 那请问现在我要在客户端的一个页面上播放这个服务器上的录音文件,代码该如何写?(客户端点击播放按钮可以直接听到wav文件的声音) 还有客户端使用的浏览器是IE浏览器,因为是服务

asp.net-项目在一个服务器上要下载的文件在另外一个服务器上如何下载

问题描述 项目在一个服务器上要下载的文件在另外一个服务器上如何下载 项目部署在这个服务器上,而需要下载的文件存放在另外一个服务器上面,怎么想在,还有我想在下载的时候弹出一个类似迅雷下载的框,能够自定义文件存放路径和文件名称.求帮助 解决方案 你要想直接远程下载文件是不行的,只能让那个存放文件的服务器提供一个url下载地址,然后你去请求改地址下载,或者存放在远程服务器的数据库中,你通过请求远程数据库下载. c#中下载远程文件有两种方法,利用WebClient 或者WebRequest,具体可以在网

用ASP技术实现在WEB网页上浏览目录及文件

web|网页 用ASP技术实现在WEB网页上浏览目录及文件 周仰平 摘要  目前在许多单位里,象WORD.EXCEL或WPS该类文档文件已成为重要的数据信息资源,在INTRANET WEB平台上如何高效率地管理这些信息资源是一个需要解决的问题.本文是利用ASP技术开发一个基于WEB的应用程序,实现在WEB页面上浏览目录文件,很轻易地做到诸如WORD.EXCEL和WPS等文档文件的查阅和下载,大大地减少信息维护的工作量. 关键词  ASP  WEB  文档文件   前言:在INTRANET平台上,

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

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

方法-.net B/S结构的程序 客户端如何播放服务器上的WAV音乐文件

问题描述 .net B/S结构的程序 客户端如何播放服务器上的WAV音乐文件 首先我的程序是B/S结构的服务器上有一个自动录音功能,文件路径如:D:/RecordFile/[2014-12-10]/82237883_13920701254_20141210141256.wav这个路径是存在数据库中的,可以直接取到数据.那请问现在我要在客户端的一个页面上播放这个服务器上的录音文件,代码该如何写?(客户端点击播放按钮可以直接听到wav文件的声音)还有客户端使用的浏览器是IE浏览器,因为是服务器的文件

VS2005怎样改变从源代码服务器上获取下来的文件的存放位置?

问题描述 VS2005怎样改变从源代码服务器上获取下来的文件的存放位置?重装系统后,从服务器上重新获取,代码文件存放的位置不是我原来在本地的存放位置我把我获取到的全删了重新获取可是已经没有了存放位置的选择,自动又存放到了刚才的位置请问该怎样解决?谢谢!源代码管理我用的是TeamExplorer 解决方案 解决方案二:在线等结贴解决方案三:vs没有,你的代码管理器有的,解决方案四:找了找不到不知道在哪里?解决方案五:获取单个文件可以指定位置吧?获取的时候,先只获取解决方案文件.然后在vs2005中

io-java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读

问题描述 java执行linux命令从linux服务器上读取log日志文件,按行读从指定字符串开始读 [INFO ] 2015-09-23 11:22:06,691 [threadPoolTaskExecutor-41] com.sto.pdaplatform.module.rediscommon.core.ParseObjectFactory.getParseObjFactory(ParseObjectFactory.java:27) >>> the original data is

Visual Studio从服务器上映射下来的文件被删了怎么办

问题描述 VisualStudio2013从公司服务器上映射下来的文件代码全被删了怎么办,重新获取有很多文件下载不回来了 解决方案 解决方案二:获取最新版本:撤销更改:一般就这办法..