方法:
function downloadIamge(src, name) {
? ? var image = new Image()
? ? // 解決跨域 Canvas 污染問題
? ? image.setAttribute('crossOrigin', 'anonymous')
? ? image.onload = function () {
? ? ? ? var canvas = document.createElement('canvas')
? ? ? ? canvas.width = image.width
? ? ? ? canvas.height = image.height
? ? ? ? var context = canvas.getContext('2d')
? ? ? ? context.drawImage(image, 0, 0, image.width, image.height)
? ? ? ? var url = canvas.toDataURL('image/png')
? ? ? ? // 生成一個(gè)a元素
? ? ? ? var a = document.createElement('a')
? ? ? ? // 創(chuàng)建一個(gè)單擊事件
? ? ? ? var event = new MouseEvent('click')
? ? ? ? // 將a的download屬性設(shè)置為我們想要下載的圖片名稱,若name不存在則使用‘下載圖片名稱’作為默認(rèn)名稱
? ? ? ? a.download = name || '下載圖片名稱'
? ? ? ? // 將生成的URL設(shè)置為a.href屬性
? ? ? ? a.href = url
? ? ? ? // 觸發(fā)a的單擊事件
? ? ? ? a.dispatchEvent(event)
? ? }
? ? image.src = src
}