Dalam tutorial langkah demi langkah ini, Anda akan belajar cara membuat file ZIP di memori di C#. Anda perlu menjalankan langkah-langkah sederhana berikut untuk dapat membuat arsip ZIP di memori.
Langkah-langkah Membuat File ZIP di Memori di C#
- Tambahkan Aspose.ZIP for .NET referensi paket NuGet ke solusi
- Tambahkan menggunakan pernyataan Aspose.Zip dalam file kode Program.cs
- Terapkan lisensi untuk Aspose.ZIP API menggunakan metode License.SetLicense
- Dapatkan satu atau semua File dari Folder yang terletak di disk & simpan jalurnya dalam array string
- Buat objek Archive Class di memori
- Untuk setiap file, buat node ArchiveEntry di Arsip ZIP
- Simpan atau salin contoh Arsip ZIP ke MemoryStream
Contoh kode C# berikut dapat digunakan dalam aplikasi .NET Anda untuk mengompresi semua file dalam folder di disk ke ZIP file format dan kemudian menyimpan file ZIP di objek aliran memori.
Kode untuk Membuat File ZIP di Memori di C#
using System.IO; | |
// Following namespace is required to Create ZIP File in Memory | |
using Aspose.Zip; | |
namespace CreateZipFileInMemory | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
License AsposeZipLicense = new License(); | |
// Load license from file system into memory stream | |
using (MemoryStream stream = new MemoryStream(File.ReadAllBytes("path to license.lic"))) | |
{ | |
// Set license prior to creating ZIP file in memory | |
AsposeZipLicense.SetLicense(stream); | |
} | |
#region C# code to create ZIP archive in memory | |
// Create MemoryStream instance | |
using (MemoryStream zipFileInMemory = new MemoryStream()) | |
{ | |
// Create empty Archive object for ZIP file | |
using (Aspose.Zip.Archive zipArchive = new Aspose.Zip.Archive()) | |
{ | |
// Get all files from a Folder and store their paths in string Array | |
string[] filesArray = Directory.GetFiles("ZIP all Files\\", "*.*", SearchOption.TopDirectoryOnly); | |
// Loop through the Array and create an ArchiveEntry against each file within the ZIP Archive | |
foreach (string fileDiskPath in filesArray) | |
{ | |
string[] folders = fileDiskPath.Split(new char[] { '\\' }); | |
string fileName = folders[folders.Length - 1]; | |
zipArchive.CreateEntry(fileName, fileDiskPath); | |
} | |
// Call Save method to create ZIP Archive in memory | |
zipArchive.Save(zipFileInMemory); | |
} | |
} | |
#endregion | |
} | |
} | |
} |
Jadi, C# create file zip di aplikasi memory console ini pada dasarnya akan membantu Anda untuk mengonversi folder ke format ZIP dan menulis seluruh konten folder di memori dalam format terkompresi. Setelah itu, Anda dapat membuat ulang file ZIP dari MemoryStream C# dan menyimpannya ke disk. Setelah arsip dibuat ulang pada sistem file, Anda dapat membuat kode ekstrak file ZIP menggunakan C#.