mxEditor缺省的save action可以向后端提交圖形的xml數(shù)據(jù),可以通過(guò)urlPost屬性定義后端接收數(shù)據(jù)的地址家制,比如:
editor.urlPost="SaveGraph";
數(shù)據(jù)保存在FormData中,字段名稱為xml进苍,下圖是按保存后魄懂,瀏覽器Network中顯示的結(jié)果:
圖片.png
我們使用asp.net core編寫(xiě)簡(jiǎn)單的保存后端,代碼如下:
endpoints.MapPost("/SaveGraph", async context =>
{
var requ = context.Request;
var xml = requ.Form["xml"];
var filename ="d:\\workflow\\temp\\"+ DateTime.Now.Ticks + ".xml";
System.IO.File.WriteAllText(filename, xml);
await context.Response.WriteAsync(filename);
});
圖形以xml方式保存斗忌,結(jié)構(gòu)與在配置文件中的定義相同质礼,文件可以直接使用open打開(kāi),重新顯示织阳。下面的代碼是從url中獲取文件地址并顯示的代碼:
function open_xml_on_init(editor) {
var xml_file_path = 'GetXml?xml=' + urlParams['xml'];
if (urlParams['xml'] != null && urlParams['xml'].length > 0) {
editor.open(xml_file_path);
}
}
asp.net core 打開(kāi)文件的服務(wù)端代碼如下:
endpoints.MapGet("/GetXml", async context =>
{
var requ = context.Request;
var xml = requ.Query["xml"];
var filename = "d:\\workflow\\temp\\" + xml;
var content=System.IO.File.ReadAllText(filename);
await context.Response.WriteAsync(content);
});