我在cytoscape.js教程中看到有方法可以将图形表示为图像(png,jpg),但有一种方法可以将其表示为常规图形,如果用户希望他可以保存通过点击按钮或类似选项将其作为图像?
没有找到简单的方法。
我使用python flask作为我的服务器端,使用cytoscape js作为图形。
答案 0 :(得分:6)
您不再需要服务器端代码来保存浏览器中的文件。
您可以使用JS中的saveAs()
API保存文件。这是一个polyfill:https://github.com/eligrey/FileSaver.js/
如果您想要图表数据,那就是
var jsonBlob = new Blob([ JSON.stringify( cy.json() ) ], { type: 'application/javascript;charset=utf-8' });
saveAs( jsonBlob, 'graph.json' );
或图像
var b64key = 'base64,';
var b64 = cy.png().substring( content.indexOf(b64key) + b64key.length );
var imgBlob = base64ToBlob( b64, 'image/png' );
saveAs( imgBlob, 'graph.png' );
(参考其他问题重新base64toBlob()
)
答案 1 :(得分:1)
您可以直接使用saveAs()
,只需执行以下操作即可:
import { saveAs } from "file-saver"; //or require
...
saveAs(cy.png(), "graph.png");
无需处理blob内容,.jpg()
也是这样