Jak vytvořit soubor ZIP v paměti v C#

V tomto tutoriálu krok za krokem se naučíte, jak vytvořit soubor ZIP v paměti v C#. Abyste mohli vytvořit ZIP archiv v paměti, musíte provést následující jednoduché kroky.

Kroky k vytvoření souboru ZIP v paměti v C#

  1. Přidejte Aspose.ZIP for .NET odkaz na balíček NuGet k řešení
  2. Přidejte pomocí příkazu Aspose.Zip v souboru s kódem Program.cs
  3. Použijte licenci pro Aspose.ZIP API pomocí metody License.SetLicense
  4. Získejte jeden nebo všechny soubory ze složky umístěné na disku a uložte jejich cesty do pole řetězců
  5. Vytvořte v paměti objekt Archive Class
  6. Pro každý soubor vytvořte v archivu ZIP uzel ArchiveEntry
  7. Uložte nebo zkopírujte instanci archivu ZIP do MemoryStream

Následující příklad kódu C# lze použít ve vaší aplikaci .NET ke komprimaci všech souborů ve složce na disku na ZIP file format a poté k uložení souboru ZIP do objektu streamu paměti.

Kód pro vytvoření souboru ZIP v paměti v 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
}
}
}

Takže tento C# soubor zip v aplikaci paměťové konzoly vám v podstatě pomůže převést složku do formátu ZIP a zapsat celý obsah složky do paměti v komprimovaném formátu. Poté můžete znovu vytvořit soubor ZIP z MemoryStream C# a uložit na disk. Jakmile bude archiv znovu vytvořen v systému souborů, můžete extrahovat soubor ZIP pomocí C# kódovat.

 Čeština