0
点赞
收藏
分享

微信扫一扫

【前端】根据后端返回的url进行下载并设置文件下载名称

云岭逸人 2023-10-12 阅读 38
前端

        在我们项目当中存储文件是存储到厂商的服务器上的,然后厂商返回一个可以直接下载url地址,但是前端使用这个url下载的时候永远都是保存一个名字,这时候我们就需要设置文件保存的名称,
        那么如何实现呢?使用了fetch将url转换成了blob即可。
代码如下

const downLoadFile = (url: string, fileName: string) => {
    const a = document.createElement("a");
    fetch(url)
        .then((res) => res.blob())
        .then((blob) => {
          // 将链接地址字符内容转变成blob地址
          a.href = URL.createObjectURL(blob);
          // @ts-ignore
          a.download = fileName; // 下载文件的名字
          // a.download = url.split('/')[url.split('/').length -1] //  // 下载文件的名字
          document.body.appendChild(a);
          a.click();
          document.body.removeChild(a);
        })
  };
举报

相关推荐

0 条评论