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#
- Aggiungi Aspose.ZIP for .NET riferimento al pacchetto NuGet alla soluzione
- Aggiungere using l’istruzione Aspose.Zip nel file di codice Program.cs
- Applicare la licenza per l’API Aspose.ZIP utilizzando il metodo License.SetLicense
- Ottieni uno o tutti i file dalla cartella che si trova sul disco e memorizza i loro percorsi nell’array di stringhe
- Crea l’oggetto di Archive Class in memoria
- Per ogni file, creare un nodo ArchiveEntry in ZIP Archive
- 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#.