关于前端url实现下载文件


首先关于前端下载肯定会想到a链接,但是我在使用的时候发现a标签会打开这个网址而不是下载文件,所以我发现了一个好的方法,感觉不错,来分享一下  

话不多说,上代码

  // 下载文件
    _downLoad(url, fileName) {
      const url2 = url.replace(/\\/g, "/");
      const xhr = new XMLHttpRequest();
      xhr.open("GET", url2, true);
      xhr.responseType = "blob";
      //xhr.setRequestHeader('Authorization', 'Basic a2VybWl0Omtlcm1pdA==');
      // 为了避免大文件影响用户体验,建议加loading
      xhr.onload = () => {
        if (xhr.status === 200) {
          // 获取文件blob数据并保存
          saveAs(xhr.response, fileName);
        }
      };
      xhr.send();
    },

url表示文件的路径,fileName表示下载文件名


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM