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

物理パスではないオブジェクトに保存することは可能ですか?

もちろん。ファイルシステムではなくメモリにストリーミングする場合は、のMemoryStream代わりに作成します。FileStream

そして、私がここにいる間CopyTo、一度に1ページにバッファリングするという退屈な作業ではなく、このメソッドを使用することをお勧めします。

于 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 に答える