2010-08-09 150 views
2

我想通過使用.net框架類從我的mvc.net c#應用程序創建zip文件。 請儘快回覆我。使用c#生成zip文件代碼

+0

我會用下面的答案之一,但如果你在一個他們不喜歡第三方dll的地方工作,我會在今天早些時候鏈接到我對類似問題的回答:http:/ /stackoverflow.com/questions/3437770/how-to-extract-zip-file-using-dotnet-framework-4-0-without-using-third-party-dlls/3438147#3438147 – 2010-08-09 14:33:52

回答

1

使用外部庫如this onethis one。 例如與DotNetZip你可以做一個zip文件是這樣的:

using (ZipFile zip = new ZipFile()) 
{ 
    // add this map file into the "images" directory in the zip archive 
    zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images"); 
    // add the report into a different directory in the archive 
    zip.AddFile("c:\\Reports\\2008-Regional-Sales-Report.pdf", "files"); 
    zip.AddFile("ReadMe.txt"); 
    zip.Save("MyZipFile.zip"); 
} 
3

一個第三方庫是http://dotnetzip.codeplex.com/

我喜歡它比SharpZipLib多了不少 - SharpZipLib是不是真的很直觀地奠定了在所有。

2

隨着.NET 4.5你現在可以真正輕鬆地使用.NET Framework創建zip文件:

using System; 
using System.IO; 
using System.IO.Compression; 

namespace ConsoleApplication 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     string startPath = @"c:\example\start"; 
     string zipPath = @"c:\example\result.zip"; 
     string extractPath = @"c:\example\extract"; 

     ZipFile.CreateFromDirectory(startPath, zipPath); 

     ZipFile.ExtractToDirectory(zipPath, extractPath); 
    } 
    } 
} 

直接從微軟的文檔採取上面的代碼:http://msdn.microsoft.com/en-us/library/ms404280(v=vs.110).aspx

還有其他的方法生成壓縮文件,在上面鏈接的頁面上進一步解釋。