DotNetZip Library เป็น class library สำหรับการบีบอัด แตกไฟล์และอัพเดท zip ไฟล์ สามารถนำไปใช้งานได้ง่ายรองรับการทำงานทั้งภาษา VB, C# หรือ .NET
ตัวอย่างนี้ผมเขียนโดยภาษา C# แบบ Console เพื่อให้เข้าใจโค้ดและง่ายต่อการอธิบาย เพราะจากตัวอย่างนี้สามารถนำโค้ดไปประยุกต์ใช้ได้ทั้ง Windows Forms หรือ Web Application ได้ครับ
การเรียกใช้ DotNetZip Library(Ionic.Zip)
ก่อนอื่นเราต้องดาวน์โหลด DotNetZip Library มาก่อนนะครับ โดยเข้าไปที่เว็บ https://dotnetzip.codeplex.com/
เมื่อดาวน์โหลดเสร็จก็แตกไฟล์ ในที่นี้ผมใช้ zip-v1.9 โดยแตกไว้ที่ D:\idevcsharp.com\lib
จากนั้นให้ทำการ Add References Ionic.Zip.dll ที่แตกไฟล์ออกมา
เลือก Ionic.Zip.dll แล้วกด Add
เมื่อ Add References เสร็จ Ionic.Zip ก็จะแสดงตรง References
เป็นการเสร็จสิ้นการ Add References Ionic.Zip จากนั้นก็เขียนโค้ดเพื่อเรียกใช้งาน Ionic.Zip เพื่อสร้าง Zip ไฟล์
ตัวอย่างโค้ด
เราต้องทำการ using Ionic.Zip
เข้ามาใช้งานก่อน
using Ionic.Zip;
จากนั้นทำการเรียกใช้งาน class ZipFile , กำหนดไฟล์ที่ต้องการเพิ่ม, กำหนดที่จัดเก็บ zip เมื่อบีบอัดเสร็จสมบูรณ์
using (ZipFile zip = new ZipFile()) { //กำหนดไฟล์ที่ต้องการเพิ่มเข้าไปใน zip //D:\idevcsharp.com\example\Ionic.Zip\ คือโฟลเดอร์ที่ผมใช้เก็บไฟล์ zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\TextFile.txt", ""); zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\Image.jpg", ""); zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\Word.docx", ""); zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\Code.php", ""); //กำหนดที่จัดเก็บไฟล์ zip zip.Save(@"D:\idevcsharp.com\example\Ionic.Zip\ZipSuccess.zip"); }
อธิบายเพิ่มเติม
zip.AddFile(“ที่อยู่ของไฟล์ที่เราต้องการเพิ่มเข้าไปใน Zip“, “โฟล์เดอร์สำหรับเก็บไฟล์เมื่ออยู่ใน Zip“)
zip.Save(“กำหนดที่อยู่ของ Zip เมื่อทำงานเสร็จ“)
โค้ดทั้งหมด
using System; using Ionic.Zip; namespace iDevcsharpConsole { class Program { static void Main(string[] args) { using (ZipFile zip = new ZipFile()) { //กำหนดไฟล์ที่ต้องการเพิ่มเข้าไปใน zip //D:\idevcsharp.com\example\Ionic.Zip\ คือโฟลเดอร์ที่ผมใช้เก็บไฟล์ zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\TextFile.txt", ""); zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\Image.jpg", ""); zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\Word.docx", ""); zip.AddFile(@"D:\idevcsharp.com\example\Ionic.Zip\Code.php", ""); //กำหนดที่จัดเก็บไฟล์ zip zip.Save(@"D:\idevcsharp.com\example\Ionic.Zip\ZipSuccess.zip"); } } } }