J'ai tableau d'octets d'une image, je veux créer un fichier Zip à partir d'elle.Comment faire pour compresser un flux mémoire d'une image
Je peux enregistrer le tableau d'octets dans le fichier jpg avec succès, Mais quand je crée un fichier zip, l'image du fichier zip (l'image qui est dans le fichier zip) a été endommagé et je ne peux pas l'ouvrir! (lorsque je tente d'ouvrir l'image, un message d'erreur d'affichage Winrar ci-dessous: D: \ sample.zip: L'archive est soit en format inconnu ou endommagé )
Note: Mon image est en mémoire et je n » Je veux créer un fichier d'image physique.
Voici mes codes:
private void Zip(byte[] imageBytes)
{
string filePath = string.Empty;
using (var ms = new MemoryStream())
using (var zip = new ZipArchive(ms, ZipArchiveMode.Create))
{
var entry = zip.CreateEntry("sample.jpg", CompressionLevel.Optimal);
using (var entryStream = entry.Open())
using (var fileToCompressStream = new MemoryStream(imageBytes))
{
fileToCompressStream.CopyTo(entryStream);
}
using (var fs = new FileStream(baseFilePath + "sample.zip", FileMode.Create))
{
ms.Position = 0;
ms.WriteTo(fs);
}
}
}
Je crée aussi nouvelle instance Bitmap de imageBytes (paramètres) et l'enregistrer dans entryStream, mais même question ! – Moradof