用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();
}
這個方法解壓縮檔案時是支援壓縮包裡有多個檔案的,但解出後為什麼包錯不太清楚,有解決的麼?
回複 引用