vue中點(diǎn)擊下載圖片的實(shí)現(xiàn)方法
Vue中實(shí)現(xiàn)點(diǎn)擊下載圖片的方法可以使用HTML5中的< a >標(biāo)簽的 download 屬性或者通過JS來實(shí)現(xiàn)。
使用< a >標(biāo)簽的 download 屬性可以直接在html中進(jìn)行設(shè)置,例如:
<a rel="external nofollow" download>下載圖片</a>
通過JS實(shí)現(xiàn)可以使用創(chuàng)建URL對(duì)象的方法,代碼如下:
// 下載圖片 async downloadImage(e) { // 獲取圖片對(duì)象和畫布對(duì)象 const imgUrl = https://example.com/image.jpg const response = await fetch(imgUrl) const blob = await response.blob() // 創(chuàng)建下載鏈接 const url = window.URL.createObjectURL(blob) const link = document.createElement('a') link.href = url link.download = 'image.png' document.body.appendChild(link) link.click() document.body.removeChild(link) // 釋放 Blob URL window.URL.revokeObjectURL(url) }
以上代碼通過fetch獲取圖片并轉(zhuǎn)化為blob類型,然后利用URL.createObjectURL創(chuàng)建下載鏈接,通過創(chuàng)建的< a >標(biāo)簽的 click() 方法來實(shí)現(xiàn)下載,最后移除新建的 < a > 標(biāo)簽和已經(jīng)使用過的 URL 對(duì)象。
總結(jié)
到此這篇關(guān)于vue中點(diǎn)擊下載圖片實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vue點(diǎn)擊下載圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ElementUI?el-table?樹形數(shù)據(jù)的懶加載的實(shí)現(xiàn)
當(dāng)面對(duì)大量數(shù)據(jù)時(shí),一次性加載所有數(shù)據(jù)可能會(huì)導(dǎo)致性能問題,我們可以實(shí)現(xiàn)樹形數(shù)據(jù)的懶加載,本文主要介紹了ElementUI?el-table?樹形數(shù)據(jù)的懶加載,感興趣的可以了解一下2024-06-06Ant Design Upload 文件上傳功能的實(shí)現(xiàn)
這篇文章主要介紹了Ant Design Upload 文件上傳功能的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04VuePress使用Algolia實(shí)現(xiàn)全文搜索
這篇文章主要為大家介紹了VuePress使用Algolia實(shí)現(xiàn)全文搜索示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07vue中配置mint-ui報(bào)css錯(cuò)誤問題的解決方法
本篇文章主要介紹了vue中配置mint-ui報(bào)css錯(cuò)誤問題的解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10