js实现浏览器强制下载图片

本文介绍了一个JavaScript函数,它利用Image对象和Canvas技术,解决跨域问题并实现图片的强制下载,通过Base64编码生成可供下载的链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强制下载图片

  function downloadImg(imgsrc, name) {
    // 强制下载图片
    const image = new Image();
    image.src = imgsrc;
    // 解决跨域 Canvas 污染问题
    image.setAttribute('crossOrigin', 'anonymous');
    // eslint-disable-next-line func-names
    image.onload = function () {
      const canvas = document.createElement('canvas');
      canvas.width = image.width;
      canvas.height = image.height;
      const context = canvas.getContext('2d');
      context.drawImage(image, 0, 0, image.width, image.height);
      const url = canvas.toDataURL('image/png'); // 得到图片的base64编码数据
      const a = document.createElement('a'); // 生成一个a元素
      a.download = name; // 设置图片名称
      a.href = url; // 将生成的URL设置为a.href属性
      a.click();
    };
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值