a href标签下载文件遇到下载失败 打开文件的问题
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资源)