链接下载文件自定义文件名称

链接下载文件自定义文件名称

创建download.js


       // 下载方法
      const downloadExcel = (url, filename) => {
        getBlob(url).then((blob) => {
          saveAs(blob, filename);
        });
      }
      /**
       * 获取 blob
       * @param  {String} url 目标文件地址
       * @return {Promise}
       */
       function getBlob(url) {
        return new Promise((resolve) => {
          const xhr = new XMLHttpRequest();
  
          xhr.open('GET', url, true);
          xhr.responseType = 'blob';
          xhr.onload = () => {
            if (xhr.status === 200) {
              resolve(xhr.response);
            }
          };
  
          xhr.send();
        });
      }
      /**
       * 保存
       * @param  {Blob} blob
       * @param  {String} filename 想要保存的文件名称
       */
       function saveAs(blob, filename) {
        if (window.navigator.msSaveOrOpenBlob) {
          navigator.msSaveBlob(blob, filename);
        } else {
          const link = document.createElement('a');
          const body = document.querySelector('body');
  
          link.href = window.URL.createObjectURL(blob);
          link.download = filename;
          // fix Firefox
          link.style.display = 'none';
          body.appendChild(link);
  
          link.click();
          body.removeChild(link);
  
          window.URL.revokeObjectURL(link.href);
        }
      }
      
  export default{
    downloadExcel
  }

在main.js实现全局引用

import downloadProject from './assets/js/download' //下载链接文件
app.config.globalProperties.downloadProjectExcel = downloadProject.downloadExcel

页面使用

proxy.downloadProjectExcel(文件链接名称,'自定义名称.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值