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;

                }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容