我想在内存中压缩一个 SVG 文件并使用 base64 对其进行编码(我想将压缩/base64 SVG 保存在 XML 文件中)。
这就是我所拥有的(但我对一切都持开放态度):
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,但这不是我的文件,因为它只有几个字符长。