using (Stream fileStream = System.IO.File.OpenWrite("D:\sample.svg"))
{
byte[] buffer = new byte[8 * 1024];
int len;
while ((len = SvgStream.Read(buffer, 0, buffer.Length)) > 0)
{
fileStream.Write(buffer, 0, len);
}
}
我有用于将PPT转换为SVG的代码。 SvgStream包含PPT幻灯片。我不想将转换后的SVG文件存储在像D:\ sample.svg这样的物理路径上。是否可以将其存储在非物理路径的对象上?
答案 0 :(得分:3)
是否可以将其存储在非物理路径的对象上?
不确定。如果要流入内存而不是文件系统,请创建MemoryStream
而不是FileStream
。
虽然我在这里:你可能想要使用CopyTo
方法,而不是一次只在一页上缓存它的繁琐工作。
答案 1 :(得分:0)
我将其保存为字符串:
SvgStream = new MemoryStream();
sld.WriteAsSvg(SvgStream);
SvgStream.Position = 0;
string[] svgArray = new string[MAX];
//instead of using(var fileStream = File.IO.......
//I came up with this:
var sr = new StreamReader(SvgStream);
svgArray[i] = sr.ReadToEnd();