Πώς να δημιουργήσετε αρχείο ZIP στη μνήμη σε C#

Σε αυτό το βήμα προς βήμα σεμινάριο, θα μάθετε πώς να δημιουργείτε αρχείο ZIP στη μνήμη σε C#. Πρέπει να εκτελέσετε τα παρακάτω απλά βήματα για να μπορέσετε να δημιουργήσετε αρχείο ZIP στη μνήμη.

Βήματα για τη δημιουργία αρχείου ZIP στη μνήμη σε C#

  1. Προσθέστε Aspose.ZIP for .NET αναφορά πακέτου NuGet στη λύση
  2. Προσθέστε χρησιμοποιώντας τη δήλωση Aspose.Zip στο αρχείο κώδικα Program.cs
  3. Εφαρμόστε άδεια χρήσης για το Aspose.ZIP API χρησιμοποιώντας τη μέθοδο License.SetLicense
  4. Λάβετε μεμονωμένα ή όλα τα Αρχεία από τον Φάκελο που βρίσκονται στο δίσκο και αποθηκεύστε τις διαδρομές τους σε συστοιχία συμβολοσειρών
  5. Δημιουργήστε αντικείμενο του Archive Class στη μνήμη
  6. Για κάθε αρχείο, δημιουργήστε έναν κόμβο ArchiveEntry στο ZIP Archive
  7. Αποθηκεύστε ή αντιγράψτε την παρουσία του αρχείου ZIP στο MemoryStream

Το ακόλουθο παράδειγμα κώδικα C# μπορεί να χρησιμοποιηθεί στην εφαρμογή .NET για τη συμπίεση όλων των αρχείων σε έναν φάκελο στο δίσκο σε ZIP file format και, στη συνέχεια, αποθήκευση αρχείου ZIP σε αντικείμενο ροής μνήμης.

Κώδικας για τη δημιουργία αρχείου ZIP στη μνήμη σε 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
}
}
}

Έτσι, αυτό το αρχείο zip δημιουργίας C# στην εφαρμογή κονσόλας μνήμης θα σας βοηθήσει ουσιαστικά να μετατρέψετε το φάκελο σε μορφή ZIP και να γράψετε ολόκληρο το περιεχόμενο του φακέλου στη μνήμη σε συμπιεσμένη μορφή. Στη συνέχεια, μπορείτε να δημιουργήσετε ξανά αρχείο ZIP από το MemoryStream C# και να το αποθηκεύσετε στο δίσκο. Μόλις δημιουργηθεί ξανά το αρχείο στο σύστημα αρχείων, μπορείτε να εξαγωγή αρχείου ZIP χρησιμοποιώντας C# κωδικοποιήσετε.

 Ελληνικά