Ich habe Byte-Array eines Bildes, ich möchte Zip-Datei daraus erstellen.Zip ein MemoryStream eines Bildes
Ich kann das Byte-Array in JPG-Datei erfolgreich speichern, aber wenn ich zip-Datei daraus erstellen, wurde das Bild der ZIP-Datei (das Bild, das in die ZIP-Datei ist) beschädigt und ich kann es nicht öffnen! (wenn ich versuche, das Bild zu öffnen, brüllen Fehlermeldung Winrar Anzeige: D: \ sample.zip: Das Archiv entweder in unbekanntem Format oder beschädigt)
Hinweis: Mein Bild im Speicher und I don‘ Ich möchte eine physische Image-Datei erstellen.
Hier ist meine 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);
}
}
}
ich von imageBytes (Parameter) neue Bitmap-Instanz erstellen auch und in entryStream speichern, aber gleiche Problem ! – Moradof