Sunday 27 October 2013

Zipping With Ionic.zip And TransmitFile in ASP.Net

Men-Zip file yang di lakukan oleh web berguna saat kita akan memberikan file dalam jumlah yang banyak, Zip disini berguna agar kita mendownloadnya hanya satu kali. dll yang penulis gunakan saat ini adalah ionic.zip.dll , yang dapat di download di link Ionic ini. Setelah didownload, maka langkah selanjutnya adalah memasukan reference Ionic.zip tersebut kedalam project kita.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//import librarynya kedalam project 
using Ionic.Zip;
string path = Server.MapPath("NamaPathFolder/File");
string[] filenames = Directory.GetFiles(path);
string ZipPath = Server.MapPath("NamaPathZipYangakanDisimpan");
using (ZipFile zip = new ZipFile())
{
 try
 {
  zip.AddFiles(filenames, "NamaFolder");
  //save zip filezip.Save(ZipPath);
  Response.Clear();
  //kirim sebagai responseResponse.ContentType = "Application/zip";
  Response.AppendHeader("content-disposition", "attachment; filename=NamaFileZip-nya");
  Response.TransmitFile(ZipPath);
  Response.Flush();
 }
 finally
 {
  //delete file yang tidak terpakai System.IO.File.Delete(ZipPath);
  string[] files = Directory.GetFiles(NamaFolder/File);
  foreach (string file in files)
  {
   File.SetAttributes(file, FileAttributes.Normal);
   File.Delete(file);
  }
  //delete directory Directory.Delete(NamaFolder/File);
  Response.End();
 }
}

No comments:

Post a Comment