K'Blog

Because there’s always more to learn

  Home  |   Contact  |   Syndication    |   Login
  10 Posts | 0 Stories | 2 Comments | 0 Trackbacks

News

Archives

Post Categories

ASP.NET

Summary
Extract your zip file in aspspider.net using OpenSource Zip Library in asp.net (SharpZipLib)

.NET Classes used :
  • using System;
  • using System.IO;
  • using ICSharpCode.SharpZipLib.Zip;

  • I have used open source zip library. Which you have to download from http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx

    Put ICSharpCode.SharpZipLib.DLL into your bin folder of asp.net application.

    Use Following function to extract zip file. Assign your zipfilename in ZipFileName variable.

    You Need Folder Rights to Create File Programmatically.

    string ZipFileName = "FCKeditor_2.4.3.zip";

           try
           {

               if (!File.Exists(Server.MapPath(ZipFileName)))
               {
                   lstProcess.Items.Add("File Does Not Exists.");
                   return;
               }

               using (ZipInputStream s = new ZipInputStream(File.OpenRead(Server.MapPath(ZipFileName))))
               {

                   ZipEntry theEntry;
                   while ((theEntry = s.GetNextEntry()) != null)
                   {
                      string directoryName = Path.GetDirectoryName(theEntry.Name);
                       string fileName = Path.GetFileName(theEntry.Name);

                       // create directory
                       if (directoryName.Length > 0)
                       {
                           Directory.CreateDirectory(Server.MapPath(directoryName));
                       }

                       if (fileName != String.Empty)
                       {
                           using (FileStream streamWriter = File.Create(Server.MapPath(theEntry.Name)))
                           {

                               int size = 2048;
                               byte[] data = new byte[2048];
                               while (true)
                               {
                                   size = s.Read(data, 0, data.Length);
                                   if (size > 0)
                                   {
                                       streamWriter.Write(data, 0, size);
                                   }
                                   else
                                   {
                                       break;
                                   }
                               }
                           }
                       }
                   }
               }
           }
           catch (Exception ex)
           {
               //Display Error
           }
           finally
           {
               //Update Status
           }
    posted on Tuesday, October 07, 2008 6:52 PM