Создание ZIP-файлов в C#
Эффективное сжатие в .NET - уменьшение размера файлов, упаковка данных и автоматизация архивации.
Как создать сжатую ZIP-папку
Сжатие файлов и папок в ZIP - стандартный способ экономить место, ускорять обмен и упорядочивать резервное копирование. С Aspose.Zip for .NET можно создавать ZIP-архивы прямо из C#, управлять уровнем сжатия и включать защиту паролем или AES-шифрование. API хорошо встраивается в server-side сервисы, внутренние инструменты, CI/CD и desktop-приложения.
Создание ZIP-архива изображений в C#
Для изображений используйте
объект FileStream
,
класс Archive
,
CreateEntry
и
Save
.
Пример C# для ZIP-архива с изображениями.
// For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
using (FileStream zipFile = File.Open(dataDir + "CompressSingleFile_out.zip", FileMode.Create))
{
//File to be added to archive
using (FileStream source1 = File.Open(dataDir + "picture123.png", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive(new ArchiveEntrySettings()))
{
archive.CreateEntry("picture123.png", source1);
archive.Save(zipFile);
}
}
}
Конвертация PDF в ZIP в C#
Для PDF используется тот же поток - Archive, CreateEntry, затем Save. Можно добавить несколько документов и настроить параметры под сценарий.
Пример C# для ZIP-архива из PDF-файлов.
var dir = "full directory path";
using (var arch = new Archive())
{
arch.CreateEntry("filename.pdf", dir+"file.pdf");
arch.Save(dir+"pdf-files-archived_result.zip");
}
Сжатие нескольких файлов в ZIP с паролем
Aspose.Zip поддерживает традиционное шифрование и AES (AES128, AES192, AES256) для нескольких файлов и папок. Поток остается прежним - добавить entry и сохранить.
Пример C# для архивирования с шифрованием.
using (FileStream zipFile = File.Open(dataDir + "CompressWithTraditionalEncryption_out.zip", FileMode.Create))
{
using (FileStream file1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
using (FileStream file2 = File.Open(dataDir + "asyoulike.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("p@s$"))))
{
archive.CreateEntry("alice29.txt", file1);
archive.CreateEntry("asyoulik3.txt", file2);
archive.Save(zipFile);
}
}
}
}
Документация - функции сжатия в Aspose.ZIP для .NET
Aspose.Zip for .NET обеспечивает надежное архивное сжатие с понятным API и высокой производительностью. Пространство имен ZIP содержит ключевые классы для ZIP и связанных сущностей.
Другие поддерживаемые форматы для сжатия
Вы также можете сжимать PNG, PPT, MPX, MP3, GPX, HTML, DOCX, JPEG, XML и многие другие форматы в ZIP-архив.