Ich habe eine SVG-Zeichenfolge, die ich als eine Svg-Datei auf einem Server mit C# speichern möchte. Ich verwende den folgenden Code ein:Wie schreibe ich eine SVG-Zeichenfolge in Datei in 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);
In der letzten Zeile ich den svg-String in die Datei schreiben, aber wenn ich die erzeugte Datei öffnen, es ist nicht SVG und scheint Müll Text zu sein.
EX:
Die SVG, die ich haben sollte korrekt formatiert werden, da sie direkt aus dem Browser kommt (und richtig angezeigt wird, bevor ich es in C# senden). Hier ist ein Ausschnitt des erzeugten SVG:
Edit:
Hier ist ein Bild des svg Variable zum Zeitpunkt des File.WriteAllText Anrufs.
Edit 2: JSBIN for the svg Die svg im JSBin ist genau das gleiche wie das SVG-Variable. Bei der Überprüfung der Ausgabe-SVG-Datei wurde es tatsächlich in die Datei geschrieben. Aus irgendeinem Grund wird es nicht korrekt geöffnet. Dies ist kein C# writeAllText-Problem, wie ich glaubte.
Kein Teil Ihres Codes hat etwas mit dem Dateiinhalt zu tun. – SLaks
Fügen Sie einen Screenshot hinzu, wie die Variable 'svg' im Debugger in der Zeile' File.WriteAllText (svgFile, svg); '? – Vikhram
Haben Sie den Inhalt Ihrer 'svg'-Variablen untersucht, um festzustellen, ob sie tatsächlich die erwarteten Daten enthält? –