遇到需要下载echarts的图片的需求 ,angularjs 下载的部分代码如下所示
scope.base64ToBlob = function (code) {
var parts = code.split(';base64,');
var contentType = parts[0].split(':')[1];
var raw = window.atob(parts[1]);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: contentType});
};
scope.downLoadChart = function (fileName, content) {
var aLink = document.createElement('a');
var blob = this.base64ToBlob(content);
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", true, true);
aLink.download = fileName + ".jpg";
aLink.href = URL.createObjectURL(blob);
aLink.click()
};
echarts获取base64的图片内容通过
var myChart = echarts.init(element[0]);
var content = myChart.getDataURL();
就可以了,然后直接调用上面的downLoadChart
scope.downLoadChart(data, myChart.getDataURL());
参考文章:https://blog.csdn.net/qq_35844177/article/details/79094249