我有一个SVG字符串,我希望将其作为svg文件保存到具有C#的服务器。我使用以下代码:
var guid = Guid.NewGuid().ToString("N");
Directory.CreateDirectory(AppSettings.ExportFolderPath.TrimEnd('\\') + String.Format("\\{0}\\svg", guid));
var svgFile = Path.Combine(AppSettings.ExportFolderPath.TrimEnd('\\') + String.Format("\\{0}\\svg\\graph.svg", guid));
File.WriteAllText(svgFile, svg);
在最后一行,我将svg字符串写入文件,但是当我打开生成的文件时,它不是SVG,而且似乎是垃圾文本。
EX:
我所拥有的SVG应该正确格式化,因为它直接来自浏览器(并在我将其发送到C#之前正确显示)。以下是生成的SVG的片段:
编辑:
以下是File.WriteAllText调用时svg变量的图像。
编辑2: JSBIN for the svg JSBin中的svg与svg变量完全相同。在检查输出svg文件时,它确实被写入文件。由于某种原因,它将无法正确打开。这不是我认为的C#writeAllText问题。
答案 0 :(得分:0)
SVG字符串确实正确写入输出文件。当使用inkscape打开文件时,它看起来像预期的那样(在浏览器中打开最初不起作用)。
感谢您的建议!