簡體   English   中英

如何在C#中將SVG字符串寫入文件

[英]How do I write an SVG string to file in C#

我有一個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: svgJSBIN JSBin中的svg與svg變量完全相同。 檢查輸出的svg文件后,確實確實將其寫入了文件。 由於某種原因,它將無法正確打開。 這不是我相信的C#writeAllText問題。

SVG字符串確實正確寫入了輸出文件。 使用inkscape打開文件時,它看起來像預期的那樣(最初在瀏覽器中無法打開)。

感謝您的建議!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM