Kako napraviti ZIP datoteku u memoriji u C#

Kako napraviti ZIP datoteku u memoriji u C#

U ovom korak po korak tutorial ćete naučiti kako stvoriti ZIP datoteku u memoriji pomoću C#. Proces naveden ovdje vam omogućuje da komprimirate datoteke i dosjee u ZIP format bez potrebe za stvaranjem fizičke datoteke na disku.

Prednosti stvaranja ZIP datoteka u memoriji

  • Izvršeno djelovanje:- Izbjegavajte disk I/O na vrhu, što će učiniti proces brži.

  • Vrijeme skladištenja:- Kapa datoteke u memoriju za brzi pristup i obradu.

  • fleksibilnost:- Omogućuje operacije poput slanja datoteka preko mreže bez srednjeg skladištenja.

Predviđanja: Priprema za okoliš

  • Sastavite Visual Studio ili bilo koji kompatibilni .NET IDE.
  • Instalirajte Aspose.ZIP iz upravitelja paketa NuGet.

Korak po korak vodič za stvaranje ZIP datoteke u memoriji

Korak 1: Instalirajte Aspose.ZIP

Počnite dodavanjem Aspose.ZIP knjižnice vašem projektu.

Install-Package Aspose.ZIP

Korak 2: Uključite nazivni prostor

Add the Aspose.Zip namespace to your code to use its functionalities.

using Aspose.Zip;

Korak 3: Preuzmite datoteke s diska

Povratak putova datoteke iz izvorne mape u redoslijed.

string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

Korak 4: Stvaranje arhivskog objekta

Instantiate an Archive object in memory to hold the ZIP entries.

using (MemoryStream zipFileInMemory = new MemoryStream())
{
    using (Archive zipArchive = new Archive())
    {
        // Further processing follows here
    }
}

Korak 5: Stvaranje arhivskih ulaznica

Loop through the file array and create an ArchiveEntry for each file.

foreach (string fileDiskPath in filesArray)
{
    string fileName = Path.GetFileName(fileDiskPath);
    zipArchive.CreateEntry(fileName, fileDiskPath);
}

Korak 6: Sačuvajte ZIP datoteku u memoriju

Create the ZIP archive in memory by saving it to the MemoryStream.

zipArchive.Save(zipFileInMemory);

Kompletni primjer koda za stvaranje ZIP datoteke u memoriji

Evo cijelog koda koji ilustrira kako stvoriti ZIP datoteku u memoriji:

// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
    // Create an empty Archive object for ZIP
    using (Archive zipArchive = new Archive())
    {
        // Get all files from a folder and store their paths in a string array
        string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

        // Loop through the array and create an ArchiveEntry for each file
        foreach (string fileDiskPath in filesArray)
        {
            string fileName = Path.GetFileName(fileDiskPath);
            zipArchive.CreateEntry(fileName, fileDiskPath);
        }

        // Save the Archive in memory
        zipArchive.Save(zipFileInMemory);
    }
}

Dodatne informacije

  • Možete lako izmijeniti kod kako biste primijenili metode šifriranja ili kompresije na ZIP datoteku.
  • Ovo rješenje vam omogućuje da obavljate daljnje operacije na memorijalnom ZIP datoteku, kao što je slanje preko mreže ili čuvanje na disk kasnije.

zaključak

Ovaj tutorial je pokazao kako stvoriti ZIP datoteku u memoriji pomoću C#. Slijedom predviđenog izvora, možete učinkovito upravljati kompresije datoteke unutar aplikacija bez potrebe za stvaranjem fizičkih datoteka.

 Hrvatski