下载模板(word,pdf,excel)

下载模板(word,pdf,excel)

正文链接

1. 引入请求插件 例子: axios
import axios from "axios"
2. 要素 (url、filename)
let url = "https://****/wallet/8215708557865148.xlsx";
let filename = '模板.xlsx'   //自己定义的文件名 必须加文件类型后缀
this.downFile(url, filename);
3. 发起请求, 二进制流下载文件
 async downFile(url, name) {
      let res = await axios({
        method: "get",
        url,
        responseType: "arraybuffer"
      });
      let type = res.headers["content-type"];

      this.downs(res, type, name);
    }
4. 实现下载
downs(res, type, filename) {
      // 创建blob对象,解析流数据
      const blob = new Blob([res.data], {
        // 如何后端没返回下载文件类型,则需要手动设置:type: 'application/pdf;chartset=UTF-8' 表示下载文档为pdf,如果是word则设置为msword,excel为excel
        type
      });
      const a = document.createElement("a");
      // 兼容webkix浏览器,处理webkit浏览器中href自动添加blob前缀,默认在浏览器打开而不是下载
      const URL = window.URL || window.webkitURL;
      // 根据解析后的blob对象创建URL 对象
      const herf = URL.createObjectURL(blob);
      // 下载链接
      a.href = herf;
      // 下载文件名,如果后端没有返回,可以自己写a.download = '文件.pdf'
      a.download = filename;
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      // 在内存中移除URL 对象
      window.URL.revokeObjectURL(herf);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值