|
C#/VB.net : ZipFile and Compression การ Zip บีบอัดไฟล์บน .Net Application แบบง่ายๆ |
C#/VB.net : ZipFile and Compression การ Zip บีบอัดไฟล์บน .Net Application แบบง่ายๆ บทความนี้จะเป็นตัวอย่างการเขียนโปรแกรมบน .Net Application และการ Zip ไฟล์ เป็นวิธีที่เราสามารถประยุกต์การบีบอัดไฟล์ให้อยู่ในรูปแบบ Zip ไฟล์ ด้วยโปรแกรมที่เราเขียนขึ้น ซึ่งปัจจุบันบน .Net Framework ก็มีคลาสหรือ Library ขึ้นมารองรับการเขียนให้อยู่แล้ว เราสามารถที่จะเรียกใช้งานได้ง่ายและสะดวก และมีรูปแบบการเขียนที่ง่าย ๆ ทั้งวิธีการ Zip ไฟล์ หรือ Extract ไฟล์ และที่สำคัญมันรองรับการเขียนโปรแกรมบน .Net Application เกือบทุกรูปแบบ เช่น ASP.Net, Windows Form, Console Application หรือว่าจะเป็น Application อื่นๆ ที่พัฒนาด้วย .Net Framework
C#/VB.net : ZipFile and Compression
ในปัจจุบัน .Net Framework เกี่ยวกับการ Compression ที่อยู่ภายใต้ System.IO ได้มีการพัฒนาถึงเวอร์ชั่น 4.6 แล้ว และในการใช้งานจะต้องทำการ import และ using ตัวคลาสของ System.IO และ System.IO.Compression โดยที่
.NET 4.6 ขึ้นไปให้ Add Reference เป็น
System.IO.Compression
System.IO.Compression.ZipFile
.NET 4.5 ลงมา Add Reference เป็น
using System.IO;
using System.IO.Compression;
อย่าลืมว่าจะต้อง Add Reference ให้ถูกต้องตามเวอร์ชั่นของ .Net Framework ที่เราเขียนอยู่ ไม่อย่างนั้นจะเกิดปัญหารันแล้วมี Error runtime เกิดขึ้นได้
วิธีการ Add Reference

คลิกขวาที่ Reference -> Add Reference

เลือกคลาสของ System.IO.Compression

เลือก Manage Nuget Package

เลือก Install ตัว Package ของ System.IO.Compression.ZipFile

Ex 1 : การ Zip ไฟล์ แบบง่าย ๆ

ไฟล์ที่ต้องการ Zip
VB.Net
Dim zipPath As String = "D:\Example\result.zip"
Using zipFileToOpen As New FileStream(zipPath, FileMode.OpenOrCreate)
Using archive As New ZipArchive(zipFileToOpen, ZipArchiveMode.Create)
archive.CreateEntryFromFile("D:\Example\file1.pdf", "file1.pdf")
archive.CreateEntryFromFile("D:\Example\file2.pdf", "file2.pdf")
End Using
End Using
C#
string zipPath = @"D:\Example\result.zip";
using (FileStream zipFileToOpen = new FileStream(zipPath, FileMode.OpenOrCreate))
{
using (ZipArchive archive = new ZipArchive(zipFileToOpen, ZipArchiveMode.Create))
{
archive.CreateEntryFromFile(@"D:\Example\file1.pdf", "file1.pdf");
archive.CreateEntryFromFile(@"D:\Example\file2.pdf", "file2.pdf");
}
}
Result

ไฟล์ที่ถูก Zip เรียบร้อยแล้ว

ไฟล์ที่อยุ่ในโฟเดอร์ Zip
Ex 2 : การ Zip ไฟล์ ทั้งโฟเดอร์

เราจะมา Zip ไฟล์ทั้งโฟเดอร์
VB.Net
Dim fileDir As String = "D:\Example\"
Dim zipPath As String = "D:\Example\result.zip"
ZipFile.CreateFromDirectory(fileDir, zipPath)
C#
string fileDir = @"D:\Example\";
string zipPath = @"D:\Example\result.zip";
ZipFile.CreateFromDirectory(fileDir, zipPath);
Result

ไฟล์ที่ถูก Zip เรียบร้อยแล้ว
Ex 3 : การ Extract หรือแตก ไฟล์ Zip
VB.Net
Dim zipPath As String = "D:\Example\result.zip"
Dim fileDir As String = "D:\Example\"
Using zipFileToOpen As New FileStream(zipPath, FileMode.Open)
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
archive.ExtractToDirectory(fileDir)
End Using
End Using
C#
string zipPath = @"D:\Example\result.zip";
string fileDir = @"D:\Example\";
using (FileStream zipFileToOpen = new FileStream(zipPath, FileMode.Open))
{
using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
{
archive.ExtractToDirectory(fileDir);
}
}
เขียนได้อีกวิธีคือ
VB.Net
Dim fileDir As String = "D:\Example\"
Dim zipPath As String = "D:\Example\result.zip"
ZipFile.ExtractToDirectory(zipPath, fileDir)
C#
string fileDir = @"D:\Example\";
string zipPath = @"D:\Example\result.zip";
ZipFile.ExtractToDirectory(zipPath, fileDir);
Result

ไฟล์ที่ถูกแตก
|
|
|
By : |
TC Admin
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
    |
|
Create Date : |
2017-04-05 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|