В този урок стъпка по стъпка ще научите как да създадете ZIP файл в паметта в C#. Трябва да изпълните следните прости стъпки, за да можете да създадете ZIP архив в паметта.
Стъпки за създаване на ZIP файл в паметта в C#
- Добавете Aspose.ZIP for .NET препратка към пакет NuGet към решението
- Добавете с помощта на оператора Aspose.Zip в кодовия файл Program.cs
- Приложете лиценз за Aspose.ZIP API, като използвате метода License.SetLicense
- Вземете единични или всички файлове от папка, разположена на диска, и съхранете пътищата им в масив от низове
- Създайте обект на Archive Class в паметта
- За всеки файл създайте възел ArchiveEntry в ZIP архив
- Запазете или копирайте копие на ZIP архив в MemoryStream
Следният пример на C# код може да се използва във вашето .NET приложение за компресиране на всички файлове в папка на диска до ZIP file format и след това да съхраните ZIP файл в обект на поток от памет.
Код за създаване на ZIP файл в паметта в 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 | |
} | |
} | |
} |
И така, това C# създаване на zip файл в конзолно приложение за памет по същество ще ви помогне да конвертирате папка в ZIP формат и да запишете цялото съдържание на папката в паметта в компресиран формат. След това можете да създадете отново ZIP файл от MemoryStream C# и да го запишете на диск. След като архивът бъде пресъздаден във файловата система, можете да извлечете ZIP файл с помощта на C# кодирате.