用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
我们经常会遇到批量上传的问题,也会遇到将某个目录下所有文件都上传到服务器上的问题。那么,如何解决此类问题呢?以前的技术一般采用ActiveX等方 式,这里笔者采用SharpZlib来实现,听说VS2005已有压缩和解压缩的解决方案,笔者还没有时间用VS2005,所以就只好使用VS2003 + SharpZlib来解决问题了。
1、首先从这里 下载0.84版本的SharpZlib源码及示例码。
2、下载下来之后你发现它没有VS2003的解决方案文件,没有关系。你可以自己建立,首先新建一个ZipUnzip的解决方案,然后,将上面经过解压缩之后的所有文件及目录COPY到你的解决方案所在的目录下。
3、在VS2003解决方案资源管理器(一般是在右上方中部点的位置)中点击显示所有文件按钮,然后可以见到很多“虚”的图标、文件及文件夹等,可以一次选择它们,然后包含进项目中。
4、编译,最好使用Release选项,编译完成之后你可以在/bin/Release/看到ZipUnzip.dll的类了。如果你编译时报错,说什 么AssemblyKeyFile之类的,你可以使用强命名工具新建一个,也可以将AssemblyInfo.cs中[assembly: AssemblyKeyFile("。。。。。")]改成:[assembly: AssemblyKeyFile("")] (不推荐这样做)。
5、新建一个WEBFORM项目,添加ZipUnzip.dll类的引用,然后添加如下文件及内容:
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 1. AttachmentUnZip.cs
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.IO;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.GZip;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.BZip2;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Checksums;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip.Compression;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] namespace WebZipUnzip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public class AttachmentUnZip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public AttachmentUnZip()
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public static void UpZip( string zipFile)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string []FileProperties = new string [ 2 ];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileProperties[ 0 ] = zipFile; // 待解压的文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileProperties[ 1 ] = zipFile.Substring( 0 ,zipFile.LastIndexOf( " // " ) + 1 ); // 解压后放置的目标目录
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] UnZipClass UnZc = new UnZipClass();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] UnZc.UnZip(FileProperties);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ---------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 2. UnZipClass.cs
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ---------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.IO;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.GZip;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.BZip2;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Checksums;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip.Compression;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] namespace WebZipUnzip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public class UnZipClass
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// <summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// 解压文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// </summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// <param name="args"> 包含要解压的文件名和要解压到的目录名数组 </param>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public void UnZip( string [] args)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipInputStream s = new ZipInputStream(File.OpenRead(args[ 0 ]));
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] try
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipEntry theEntry;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] while ((theEntry = s.GetNextEntry()) != null )
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string directoryName = Path.GetDirectoryName(args[ 1 ]);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string fileName = Path.GetFileName(theEntry.Name);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 生成解压目录
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Directory.CreateDirectory(directoryName);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if (fileName != String.Empty)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 解压文件到指定的目录
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileStream streamWriter = File.Create(args[ 1 ] + fileName);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] int size = 2048 ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] byte [] data = new byte [ 2048 ];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] while ( true )
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] size = s.Read(data, 0 , data.Length);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if (size > 0 )
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] streamWriter.Write(data, 0 , size);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] else
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] break ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] streamWriter.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] catch (Exception eu)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] throw eu;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] finally
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] } // end UnZip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public static bool UnZipFile( string file, string dir)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] try
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if ( ! Directory.Exists(dir))
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Directory.CreateDirectory(dir);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string fileFullName = Path.Combine(dir,file);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipInputStream s = new ZipInputStream(File.OpenRead( fileFullName ));
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipEntry theEntry;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] while ((theEntry = s.GetNextEntry()) != null )
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string directoryName = Path.GetDirectoryName(theEntry.Name);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string fileName = Path.GetFileName(theEntry.Name);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if (directoryName != String.Empty)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Directory.CreateDirectory( Path.Combine(dir, directoryName));
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if (fileName != String.Empty)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileStream streamWriter = File.Create( Path.Combine(dir,theEntry.Name) );
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] int size = 2048 ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] byte [] data = new byte [ 2048 ];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] while ( true )
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] size = s.Read(data, 0 , data.Length);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if (size > 0 )
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] streamWriter.Write(data, 0 , size);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] else
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] break ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] streamWriter.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] return true ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] catch (Exception)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] throw ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] } // end UnZipClass
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ----------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 3. ZipClass.cs
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ----------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.IO;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.GZip;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.BZip2;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Checksums;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip.Compression;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] namespace WebZipUnzip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// <summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// 压缩文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// </summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public class ZipClass
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public void ZipFile( string FileToZip, string ZipedFile , int CompressionLevel, int BlockSize, string password)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 如果文件没有找到,则报错
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] if ( ! System.IO.File.Exists(FileToZip))
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] throw new System.IO.FileNotFoundException( " The specified file " + FileToZip + " could not be found. Zipping aborderd " );
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip,System.IO.FileMode.Open , System.IO.FileAccess.Read);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipEntry ZipEntry = new ZipEntry( " ZippedFile " );
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipStream.PutNextEntry(ZipEntry);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipStream.SetLevel(CompressionLevel);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] byte [] buffer = new byte [BlockSize];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] System.Int32 size = StreamToZip.Read(buffer, 0 ,buffer.Length);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipStream.Write(buffer, 0 ,size);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] try
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] while (size < StreamToZip.Length)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] int sizeRead = StreamToZip.Read(buffer, 0 ,buffer.Length);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipStream.Write(buffer, 0 ,sizeRead);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] size += sizeRead;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] catch (System.Exception ex)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] throw ex;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipStream.Finish();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipStream.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] StreamToZip.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public void ZipFileMain( string [] args)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // string[] filenames = Directory.GetFiles(args[0]);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string [] filenames = new string []
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {args[ 0 ]} ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Crc32 crc = new Crc32();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipOutputStream s = new ZipOutputStream(File.Create(args[ 1 ]));
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.SetLevel( 6 ); // 0 - store only to 9 - means best compression
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] foreach ( string file in filenames)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 打开压缩文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileStream fs = File.OpenRead(file);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] byte [] buffer = new byte [fs.Length];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] fs.Read(buffer, 0 , buffer.Length);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipEntry entry = new ZipEntry(file);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] entry.DateTime = DateTime.Now;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // set Size and the crc, because the information
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // about the size and crc should be stored in the header
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // if it is not set it is automatically written in the footer.
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // (in this case size == crc == -1 in the header)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // Some ZIP programs have problems with zip files that don't store
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // the size and crc in the header.
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] entry.Size = fs.Length;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] fs.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] crc.Reset();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] crc.Update(buffer);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] entry.Crc = crc.Value;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.PutNextEntry(entry);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.Write(buffer, 0 , buffer.Length);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.Finish();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] s.Close();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ---------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 4. WebForm1.aspx
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // ---------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] <% @ Page language = " c# " Codebehind = " WebForm1.aspx.cs " AutoEventWireup = " false " Inherits = " WebZipUnzip.WebForm1 " %>& nbsp;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] < META content = " Microsoft Visual Studio .NET 7.1 " name = GENERATOR >
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] < META content = C# name = CODE_LANGUAGE >
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] < META content = JavaScript name = vs_defaultClientScript >
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] < META content = http: // schemas.microsoft.com/intellisense/ie5 name=vs_targetSchema>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] < FORM id = Form1 method = post runat = " server " ><? xml: namespace prefix = asp />< asp:Button id = Button1 style = " Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 64px " runat = " server " Text = " 压缩 " ></ asp:Button >< asp:Button id = Button2 style = " Z-INDEX: 102; LEFT: 112px; POSITION: absolute; TOP: 64px " runat = " server " Text = " 解压 " ></ asp:Button >< INPUT id = File1 style = " Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 24px " type = file name = File1 runat = " server " > </ FORM ></ BODY ></ HTML >
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // -------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 5.WebForm1.aspx.cs
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // -------------------------------------------
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Collections;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.ComponentModel;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Data;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Drawing;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.IO;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Web;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Web.SessionState;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Web.UI;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Web.UI.WebControls;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] using System.Web.UI.HtmlControls;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] namespace WebZipUnzip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// <summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// Summary description for WebForm1.
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// </summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] public class WebForm1 : System.Web.UI.Page
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] protected System.Web.UI.WebControls.Button Button1;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] protected System.Web.UI.HtmlControls.HtmlInputFile File1;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] protected System.Web.UI.WebControls.Button Button2;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] private void Page_Load( object sender, System.EventArgs e)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // Put user code to initialize the page here
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Web Form Designer generated code #region Web Form Designer generated code
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] override protected void OnInit(EventArgs e)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] //
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // CODEGEN: This call is required by the ASP.NET Web Form Designer.
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] //
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] InitializeComponent();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] base .OnInit(e);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// <summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// Required method for Designer support - do not modify
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// the contents of this method with the code editor.
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] /// </summary>
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] private void InitializeComponent()
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] this .Button1.Click += new System.EventHandler( this .Button1_Click);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] this .Button2.Click += new System.EventHandler( this .Button2_Click);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] this .Load += new System.EventHandler( this .Page_Load);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] #endregion
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] 压缩 #region 压缩
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] private void Button1_Click( object sender, System.EventArgs e)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string []FileProperties = new string [ 2 ];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string fullName = this .File1.PostedFile.FileName; // C:/test/a.txt
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string destPath = System.IO.Path.GetDirectoryName(fullName); // C:/test
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 待压缩文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileProperties[ 0 ] = fullName;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 压缩后的目标文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] FileProperties[ 1 ] = destPath + " // " + System.IO.Path.GetFileNameWithoutExtension(fullName) + " .zip " ;
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] ZipClass Zc = new ZipClass();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Zc.ZipFileMain(FileProperties);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 删除压缩前的文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] System.IO.File.Delete(fullName);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] #endregion
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] 解压 #region 解压
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] private void Button2_Click( object sender, System.EventArgs e)
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] {
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string fullName = this .File1.PostedFile.FileName; // C:/test/a.zip
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // 解压文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // AttachmentUnZip.UpZip(fullName);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN]
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // string[] FileProperties = new string[2];
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // FileProperties[0] = fullName; // 待解压的文件
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // FileProperties[1] = System.IO.Path.GetDirectoryName(fullName); // 解压后放置的目标目录
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // UnZipClass UnZc=new UnZipClass();
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] // UnZc.UnZip(FileProperties);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string dir = System.IO.Path.GetDirectoryName(fullName);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] string fileName = System.IO.Path.GetFileName(fullName);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] UnZipClass.UnZipFile(fileName, dir);
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] #endregion
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] }
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] OK! 试试看。
此方案解决了文件名中文字的问题,目录解压缩问题。
至于整个文件夹批量上传并压缩成一个WINZIP压缩包的问题,没有时间解决了,各位如有解决方案,不妨共享一下。
0 0 0 (请您对文章做出评价) posted on 2006-05-20 15:48 程序人生~程序员 阅读(235) 评论(2) 编辑 收藏 网摘 所属分类: .NET
用ASP.Net实现文件的在线压缩和解压缩[出处:CSDN] Body:656.25,BeforeCate:0,375,Total:1453.125
评论
553942
#1楼 2006-10-09 11:57 也算赌徒[未注册用户] 测试成功!但有问题,压缩的文件里带了文件的路径(比如:我的文件路径为:
"D:/upload/2.txt")压缩包的结构为:"2.zip/d:/upload/2.txt".出来一大堆没用的文件夹.
我把ZipClass.cs类的第一个方法改了以下.加了个参数并且对第29行有了点修改.测试后压缩文件结构变为:"2.zip/2.txt"
public void ZipFile(string FileToZip, string ZipedFile,string ZipedName, int CompressionLevel, int BlockSize, string password)
{
//如果文件没有找到,则报错
if (!System.IO.File.Exists(FileToZip))
{
throw new System.IO.FileNotFoundException("The specified file " + FileToZip + " could not be found. Zipping aborderd");
}
System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
ZipEntry ZipEntry = new ZipEntry(ZipedName);
ZipStream.PutNextEntry(ZipEntry);
ZipStream.SetLevel(CompressionLevel);
byte[] buffer = new byte[BlockSize];
System.Int32 size = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, size);
try
{
while (size < StreamToZip.Length)
{
int sizeRead = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, sizeRead);
size += sizeRead;
}
}
catch (System.Exception ex)
{
throw ex;
}
ZipStream.Finish();
ZipStream.Close();
StreamToZip.Close();
}
这个方法解压缩文件时是支持压缩包里有多个文件的,但解出后为什么包错不太清楚,有解决的么?
回复 引用