首页 > 其他分享 >使用a链接实现点击下载网络图片

使用a链接实现点击下载网络图片

时间:2022-08-19 16:23:21浏览次数:269  
标签:canvas false img height 点击 let document 链接 下载

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
       
    </style>
</head>
<body>
    <img src="http://192.168.0.71:3000/a1.jpg" alt="" class="img">
    
    <button onclick="downImg()">点击下载图片</button>

    <!-- <a href="http://192.168.0.71:3000/a1.jpg" download>使用a链接下载图片</a> -->

    <script>
        function downImg(){
            let a = document.createElement('a');
            let img = document.querySelector('.img');
            img.crossOrigin = 'anonymous';
            img.onload = function(){
                let data = getBase64Img(img);
                console.log(data);
                a.setAttribute('href', data);
                a.setAttribute('download', "");
                let event = document.createEvent('MouseEvents');
                event.initMouseEvent('click', true, true, window,0,0,0,0,0,false,false,true,false,0,null);
                a.dispatchEvent(event)
            };
        }

        function getBase64Img(img){
            let canvas = document.createElement("canvas");
            canvas.width = img.width;
            canvas.height = img.height;
            let ctx = canvas.getContext("2d");
            ctx.drawImage(img, 0, 0, img.width, img.height);
            let dataUrl = canvas.toDataURL("image/png");
            return dataUrl;
        }
    </script>
</body>
</html>

 

标签:canvas,false,img,height,点击,let,document,链接,下载
From: https://www.cnblogs.com/xyzcba/p/16602388.html

相关文章

  • 解决Maven依赖下载不全的问题
    背景描述在日常学习过程中使用Maven构建SpringBoot+SpringCloud服务时,有时会使用非正式版的SpringBoot和SpringCloud(非正式版是指不是最终发布的版本,而是测试版或里程碑版......
  • 批量校验百度网盘链接有效性
    平时喜好收集整理各种资源,奈何自己百度网盘容量有限,也不能把看到好的资源全部都转存到自己的网盘里面,有时候整理的连接多了,时间久了发现很多都失效了。因此开发了一个批量......
  • download-git-repo 下载github的包踩坑
    最近再自制搭建一个脚手架,用这个库出现了两个错误,分别谈一下解决方案:1.Error:'gitclone'failedwithstatus128解决:地址要保证使用的是https模式,地址加前缀,例如:dire......
  • B2B营销新策略 | B2B企业如何实现产品导向增长目标(附方案下载)
    产品导向增长是以产品为主导的增长,主要是一种进入市场的策略,该策略依赖于以您的产品为主要工具来获取,激活和留住客户。如果您使用过Slack或Dropbox,则亲眼目睹了产品驱动......
  • 一文搞懂EMAS Serverless小程序开发|电子书免费下载
    >>快来免费下载|电子书《五天玩转EMASServerless》<<点击免费下载《五天玩转EMASServerless》EMASServerless是什么EMASServerless是阿里云提供的基于Serv......
  • asp.net core 动态生成文件下载
    一、创建actionpublicclassimportController:BaseController{privateIWebHostEnvironment_hostingEnvironment=null;publicimportCon......
  • 《GB27833-2011》PDF下载
    《GB27833-2011危险化学品有机过氧化物包装规范》PDF下载《GB27833-2011》简介本标准规定了危险化学品有机过氧化物包装的分类、要求、标记和标签;本标准适用于危险化......
  • 《GB8898-2011》PDF下载
    《GB8898-2011音频、视频及类似电子设备安全要求》PDF下载《GB8898-2011》简介本标准适用于被设计成由电网电源、电源设备、电池或远程馈电系统供电的,预定用来分别接......
  • 《GB27791-2020》PDF下载
    《GB27791-2020城镇燃气调压箱》PDF下载《GB27791-2020》简介本标准规定了城镇燃气用燃气调压箱(以下简称为调压箱)的型号,结构和材料,要求,试验方法,检验规则,质量证明文件,标......
  • python链接
    importredis#链接redishost,port,db#建立链接con=redis.StrictRedis(host='127.0.0.1',port=6379,db=4,#默认使用的是0号decode_responses=True)#......