Vue前端实现调取浏览器下载功能,批量导出图片

for(var key of this.imgList){

                    let url = 'https://www.baidu.com/test/'+ key +'.jpg?timestamp=' + new Date().getTime();

                    let image = new Image();

                    image.img_id = key;    //设置个属性,后面配置图片名称,解决异步下载的图片名都一样的bug

                    image.setAttribute("crossOrigin", "anonymous"); // 解决跨域 Canvas 污染问题

                    image.onload = function () {

                        let canvas = document.createElement("canvas");

                        canvas.width = image.width;

                        canvas.height = image.height;

                        let context = canvas.getContext("2d");

                        context.drawImage(image, 0, 0, image.width, image.height);

                        let b64url = canvas.toDataURL("image/jpeg"); //得到图片的base64编码数据

                        let a = document.createElement("a"); // 生成一个a元素

                        let event = new MouseEvent("click"); // 创建一个单击事件

                        a.download = image.img_id+'.jpg' || "eyeImage.jpg"; // 设置图片名称

                        a.href = b64url; // 将生成的URL设置为a.href属性

                        a.dispatchEvent(event); // 触发a的单击事件

                    };

                    image.src = url;

                }

你可能感兴趣的:(Vue前端实现调取浏览器下载功能,批量导出图片)