下载文件downloadFile(url, fi_a标签download跨域">
当前位置:   article > 正文

使用a标签下载跨域文件时,download属性失效_a标签download跨域

a标签download跨域

在使用a标签下载文件时,download属性可以更改下载的文件名,但是当a标签的下载链接跨域时,download属性将不会生效,原因是浏览器无法获取到文件,不能对他进行更改

解决办法

将文件使用get请求获取到,转为blob,然后获取到blob的url,创建一个新的a标签,赋值download属性,下载。

  1. //onclick 事件
  2. <a @click="downloadFile(fileUrl,fileName)">下载文件</a>
  3. downloadFile(url, fileName) {
  4. var x = new XMLHttpRequest();
  5. x.open("GET", url, true);
  6. x.responseType = 'blob';
  7. x.onload=function(e) {
  8. var url = window.URL.createObjectURL(x.response)
  9. var a = document.createElement('a');
  10. a.href = url
  11. a.download = fileName;
  12. a.click()
  13. }
  14. x.send();
  15. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/63566
推荐阅读
相关标签
  

闽ICP备14008679号