js 下载echarts base64的图片

遇到需要下载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

猜你喜欢

转载自blog.csdn.net/xiaoguangtouqiang/article/details/80733596