Создать ZIP-файл через C#

Эффективное сжатие с помощью C#: уменьшение размеров файлов в любом приложении на базе .NET.

Как создать сжатую папку Zip

Обычной практикой является сжатие содержимого файла или папки в ZIP-архив для использования пространства, резервного копирования, переноса и сохранения данных более организованным и управляемым способом. Более того, позже это содержимое извлекается в новую папку или на диск. Итак, вопрос Как сжимать и извлекать файлы C# ZIP API упростил задачу. Программисты C# могут легко интегрировать API и писать код для сжатия изображений, файлов PDF, документов Word, таблиц Excel и даже целых папок. API поддерживает ZipCrypto для создания архивов, защищенных паролем, а также использование шифрования AES для шифрования архива. Даже разработчики могут установить режим параллельного сжатия или использовать сжатие BZip2, LZMA или PPMd внутри архива. Ниже приведены несколько примеров фрагментов кода для создания zip-архивов на основе C#.

C# Создание архива файлов изображений ZIP

С помощью API легко создавать архивы с изображениями, включая BMP, JPG, GIF, TIFF и другие. Процесс добавления изображения в архив заключается в создании объекта FileStream для выходных изображений. ZIP-архив. Откройте исходное изображение в объекте FileStream. Создайте объект API Класс архивов . Добавьте изображение с помощью метода CreateEntry в архив. Создайте архив, содержащий изображения, используя Метод сохранения .

Код 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);
          }
      }
  }

C# Преобразование PDF в ZIP-файл

Процесс создания ZIP-архива PDF-документов такой же, как и для изображений. Создайте объект Archive, используя его объект, вызовите метод CreateEntry, имеющий PDF-файл в качестве параметра, и, наконец, вызовите функцию Save для создания zip-архива. API также предоставляет несколько простых способов сжатия PDF-файлов, таких как добавление нескольких файлов в архив, сохранение без сжатия, добавление папок и многое другое.

Код 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 несколько файлов с паролем

ForAPI поддерживает архивирование нескольких файлов и папок с различным шифрованием, таким как традиционное шифрование, шифрование AES128, AES192 и AES256. Процесс такой же, как и при архивировании изображений и PDF-файлов, за исключением связанного объекта шифрования.

Код 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 .NET API известен своими надежными возможностями управления сложным сжатием архивов, что обеспечивает легкое преобразование между различными форматами архивов с исключительной эффективностью и надежностью. Благодаря возможности сжимать ZIP-файлы в другие популярные форматы архивов и наоборот, разработчики могут обеспечить целостность данных и оптимальную производительность на различных платформах и приложениях. Эта фундаментальная функция сжатия оптимизирует процессы передачи, хранения и совместного использования данных, обеспечивая плавную совместимость с различными программными средами. Используя потенциал Aspose.Zip .NET API, пользователи могут легко манипулировать архивными файлами и легко интегрировать их с нужными приложениями, тем самым повышая общую производительность и эффективность рабочего процесса. Пространство имен ZIP включает классы, представляющие zip-архивы и другие общие объекты, связанные с архивами.