У меня есть строка SVG, которую я хочу сохранить как файл svg на сервере с C#. Я использую следующий код:Как написать строку 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:
Edit:
Вот изображение переменной SVG в момент вызова File.WriteAllText.
Edit 2: JSBIN for the svg SVG в JSBin точно такой же, как в переменной SVG. После проверки выходного файла svg он действительно записался в файл. По какой-то причине он не откроется правильно. Это не проблема с C# writeAllText, как я полагал.
Никакая часть вашего кода не имеет никакого отношения к содержимому файла. – SLaks
Добавьте скриншот того, как переменная 'svg' выглядит в отладчике в строке' File.WriteAllText (svgFile, svg); '? – Vikhram
Вы изучили содержимое переменной 'svg', чтобы определить, действительно ли он содержит данные, которые вы ожидаете? –