我的情況:我有一堆字節數組形式的Jpeg圖像。我有這些對象的列表:如何將一個字節數組Image添加到一個ziparchive中?
public class MyImage
{
public byte[] ImageData { get; set; }
}
我期望的情況:我想在內存中創建一個zip文件並把它放在一個變量。我正在REST服務中創建這些zip文件。理想情況下,我會將這個ziparchive轉換成一個字節數組,以便我可以將它發送到用其他語言編寫的系統。
我有創建一個ziparchive,並添加我的圖像字節數組的代碼。但是,我如何將ziparchive本身變成一個字節數組?
var images = new List<MyImage>();
//add data to images
using (var ms = new MemoryStream())
{
using (var zipArchive = new ZipArchive(ms, ZipArchiveMode.Create, true))
{
var i = 1;
foreach (var image in images)
{
var entry = zipArchive.CreateEntry("image" + i + ".jpg", CompressionLevel.Fastest);
using (var entryStream = entry.Open())
{
entryStream.Write(image.ImageData, 0, photo.ImageOriginal.Length);
}
i++;
}
//var zipBytes = magic method for turning my archive into a zipfile
}
}
我的問題:我如何得到這個工作? 獎金問題:是一個ziparchive變成與其他語言兼容的字節數組?
'ZipArchive'從哪裏來?爲什麼不使用內置的'ZipPackage'類? – lokusking
@lokusking:ZipArchive來自System.IO.Compression。這幾乎是內置的。 :) –