0
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 等物理路径上。是否可以将其存储在不是物理路径的对象上?

4

2 回答 2

3

是否可以将其存储在不是物理路径的对象上?

当然。如果要流式传输到内存而不是文件系统,请创建 aMemoryStream而不是 a 。FileStream

当我在这里时:您可能想要使用该CopyTo方法,而不是一次将其缓冲一页的繁琐工作。

于 2013-03-10T16:06:21.993 回答
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();
于 2013-03-11T00:34:27.280 回答