zoukankan      html  css  js  c++  java
  • a标签跨域下载文件,解决download失效问题

    a标签中download属性可以更改下载文件的文件名。但是如果是跨域的话,download属性就会失效。
    解决方案:

    //onclick 事件
    <a @click="downloadFile(fileUrl,fileName)">下载文件</a>
    
    downloadFile(url, fileName) {
        var x = new XMLHttpRequest();
        x.open("GET", url, true);
        x.responseType = 'blob';
        x.onload=function(e) {
            //会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的 File 对象或 Blob 对象。
            var url = window.URL.createObjectURL(x.response)
            var a = document.createElement('a');
            a.href = url
            a.download = fileName;
            a.click()
        }
        x.send();
    },
    

    参考:https://www.jianshu.com/p/8e5f4740322d

  • 相关阅读:
    grep
    [NOI2009]植物大战僵尸
    sed
    YY的GCD
    awk
    CF1100E
    cat
    tac
    [学习笔记]基数排序
    more
  • 原文地址:https://www.cnblogs.com/makalochen/p/13579444.html
Copyright © 2011-2022 走看看