我想壓縮內存中的SVG文件,並使用base64對其進行編碼(我想將zip/base64 SVG保存在XML文件中)。內存中的zip和base64編碼
這是我(但我願意接受一切):
byte[] svg = File.ReadAllBytes("test.SVG");
using (MemoryStream ms = new MemoryStream())
{
using (Package pkg = Package.Open(ms, FileMode.Create))
{
PackagePart part = pkg.CreatePart(new Uri("/test.SVG", UriKind.Relative), "image/svg+xml", CompressionOption.Normal);
using (Stream strm = part.GetStream())
{
using (StreamWriter sw = new StreamWriter(strm))
{
sw.Write(svg);
}
byte[] b = ReadToEnd(part.GetStream());
return Convert.ToBase64String(b);
}
}
}
它的東西轉換爲base64但是這不是我的文件,因爲它是長只有幾個字符。
'ReadToEnd(part.GetStream())'看起來不對。 – user2246674
這是我遺漏的一個函數,因爲它有點長。它將一個流複製到一個字節數組。但我從網上覆制它,我認爲它很好。 –
我希望50kb文件的base64字符串長度超過13個字符:) –