welcome

下载图片到本地

复制代码
/**
 * 下载图片到本地
 * @param {String} domId img标签的id
 * @param {String} name  下载图片名称
 */
function downloadCanvasIamge(domId, name){
  let image = new Image()
  // 解决跨域 Canvas 污染问题
  image.setAttribute('crossOrigin', 'anonymous')
  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 url = canvas.toDataURL('image/png')
    let a = document.createElement('a')
    let event = new MouseEvent('click')
    a.download = name || '下载图片'
    a.href = url
    a.dispatchEvent(event)
  }
  image.src = document.getElementById(domId).src
}
复制代码

 

简洁方式

const a = document.createElement('a')
a.href = '图片地址,可以是base64'
a.download = '下载图片'
a.click()

 

posted @   一首弦曲献仙音  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
//博文图片放大缩小 //飘桃花效果
点击右上角即可分享
微信分享提示