Vue 通过url下载文件并对下载的文件更名

Vue 通过url下载文件并对下载的文件更名

HTML如下:

 <div @click="downloadFile(url,name)">点击下载</div>

filename可以根据需要的内容进行拼接,比如name + id、name + 时间,这样就容易区分下载的文件了。
比如使用name+id,那么在downloadFile(url,name+id)这样就可以了。
在这里插入图片描述

methods里面方法如下:

 downloadFile (url, filename) {
      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();
        });
      }
      //下载文件
      function saveAs (blob, filename) {
        const elelink = document.createElement("a");
        elelink.style.display = 'none';
        elelink.download = filename;
        console.log(url, filename)
        elelink.href = window.URL.createObjectURL(blob);
        document.body.appendChild(elelink);
        elelink.click();
        document.body.removeChild(elelink);
      }
      // 调用以上方法进行下载
      getBlob(url).then(blob => {
        saveAs(blob, filename);
      });
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值