Come creare file ZIP in memoria in C#

In questo tutorial passo passo imparerai come creare un file ZIP in memoria in C#. È necessario eseguire i seguenti semplici passaggi per poter creare un archivio ZIP in memoria.

Passaggi per creare file ZIP in memoria in C#

  1. Aggiungi Aspose.ZIP for .NET riferimento al pacchetto NuGet alla soluzione
  2. Aggiungere using l’istruzione Aspose.Zip nel file di codice Program.cs
  3. Applicare la licenza per l’API Aspose.ZIP utilizzando il metodo License.SetLicense
  4. Ottieni uno o tutti i file dalla cartella che si trova sul disco e memorizza i loro percorsi nell’array di stringhe
  5. Crea l’oggetto di Archive Class in memoria
  6. Per ogni file, creare un nodo ArchiveEntry in ZIP Archive
  7. Salvare o copiare l’istanza ZIP Archive in MemoryStream

L’esempio di codice C# seguente può essere utilizzato nell’applicazione .NET per comprimere tutti i file in una cartella su disco in ZIP file format e quindi archiviare il file ZIP nell’oggetto flusso di memoria.

Codice per creare file ZIP in memoria in 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
}
}
}

Quindi, questo C# crea file zip nell’applicazione della console di memoria ti aiuterà essenzialmente a convertire la cartella in formato ZIP e scrivere l’intero contenuto della cartella in memoria in formato compresso. Successivamente, puoi ricreare il file ZIP da MemoryStream C# e salvarlo su disco. Una volta che l’archivio è stato ricreato sul file system, puoi codificare estrai il file ZIP usando C#.

 Italiano