asp.net压缩文件类
今天研究了一下在asp.net下用C#语言压缩文件,和解压文件,在网上好了好久才找到源代码,,真不容易啊!!
在 ASP.NET 中有两个类:DeflateStream 和 GZipStream 用于处理压缩和解压缩,这两个类分别使用的是 DEFLATE 和 gzip 压缩算法,这两个算法被一些压缩软件支持,比如 WinRAR 就支持 gzip。这两个类的名称空间均为:
System.IO.Compression
这两个类在应用上完全一致,所以我们本节只讲解其中一个类的用法,要使用另一个类,只需要把源代码中的类名称替换就可以了。
压缩步骤:往压缩流中写入未压缩的数据->关闭压缩流->从内存流中读取压缩了的数据
解压步骤:往内存流中写入压缩了的数据->从压缩流中读取解压了的数据。
可以看到压缩流(DeflateStream 或 GZipStream)与未压缩或解压了的数据打交道,而内存流(MemoryStream)与压缩了的数据打交道。
压缩代码:
//文件流
FileStream reader;
reader = File.Open("D:\\foo.txt", FileMode.Open);
FileStream writer;
writer = File.Create("D:\\dest.gzip");
//压缩相关的流
MemoryStream ms = new MemoryStream();
GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress, true);
//往压缩流中写数据
byte[] sourceBuffer = new byte[reader.Length];
reader.Read(sourceBuffer, 0, sourceBuffer.Length);
zipStream.Write(sourceBuffer, 0, sourceBuffer.Length);
//一定要在内存流读取之前关闭压缩流
zipStream.Close();
 
相关文档:
//Excel批量导入到数据库
protected void btnUpload_Click(object sender, EventArgs e)
{
string IsXls = System.IO.Path.GetExtension(UploadExcel.FileName.ToString().ToLower ......
* Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 */
public class ValidateCode : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
}
&nb ......
http://www.codeproject.com/KB/aspnet/ASPDOTNETPageLifecycle.aspx?msg=3443071#xx3443071xx
ASP.NET application and page life cycle
Introduction
The Two step process
Creation of ASP.NET environment
Process request using MHPM events fired
In What event we should do what?
A sample code for demons ......
asp.net系统,在登录或注册时常提供数字或字符混合的验证码,这里介绍如何操作。
1,Default 页面
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
& ......