有个需求说要把网站上的图表可以保存到本地,查看了一下表单的元素,是canvas内的。
用了好多种方法,都失败了。最后搜到了stackoverflow上的一种方法成功导出,代码贴在下面
//canvas下载图片
exportCanvasAsPNG:function (id, fileName) {
var canvasElement = document.getElementById(id);
var MIME_TYPE = "image/png";
var imgURL = canvasElement.toDataURL(MIME_TYPE);
var dlLink = document.createElement('a');
dlLink.download = fileName;
dlLink.href = imgURL;
dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');
document.body.appendChild(dlLink);
dlLink.click();
document.body.removeChild(dlLink);
},
exportCanvasAsPNG("poster","图片名字"); //canvas的id , 图片名字