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 @ 2022-10-10 17:47  一首弦曲献仙音  阅读(51)  评论(0编辑  收藏  举报
//博文图片放大缩小 //飘桃花效果