我想压缩内存中的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个字符:) –