a href download 此方法只能用於同一個域名的文件資源下載 跨域或者三方平台的特殊資源圖片(比如 微信公眾號資源圖片)總是會打開資源,而非下載!
當下載資源跨域的時候
參考了https://blog.csdn.net/weixin_44379204/article/details/105056713
方法1
<a @click="downloadFile(fileUrl,fileName)">下載</a>
... downloadFile(url, fileName) { var x = new XMLHttpRequest(); x.open("GET", url, true); x.responseType = 'blob'; var url; x.onload=function(e) { url = window.URL.createObjectURL(x.response);//createObjectURL 較為占用內存 var a = document.createElement('a'); a.href = url a.download = fileName; a.click() } //在資源下載完成后 可以人工清除createObjectURL 占用的緩存資源 window.URL.revokeObjectURL(url); }, ...
方法2 (把圖片資源轉成canvas 在用href 去下載canvas資源)