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.