下载文件

11 篇文章 0 订阅
10 篇文章 0 订阅

下载文件、(Blob数据流)下载PDF
导出excel 注:后端返回的二进制blob流

方法一 (a标签)

downloadFile(file) {
        let url= '你的文件地址'
        const elink = document.createElement("a");
        elink.href = url;
        elink.style.display = "none";
        elink.setAttribute("download", file.name);//file.name文件名称
        document.body.appendChild(elink);
        elink.click();
        URL.revokeObjectURL(elink.href); // 释放URL 对象
        document.body.removeChild(elink);
 },

方法二 (Blob数据流)下载PDF

downloadFile(row) {
      let params = {
        Id: row.Id
      }
      this.$http({
        url: '你的接口地址',
        method: 'get',
        responseType: 'arraybuffer',  --------------必填
        params: params
      }).then(res => {
        const binaryData = []
        binaryData.push(res)
        let url = window.URL.createObjectURL(new Blob(binaryData, { type: 'application/pdf' }))  //application/pdf类型
        const elink = document.createElement('a')
        elink.href = url
        elink.style.display = 'none'
        elink.setAttribute('download', '你的文件名称')
        document.body.appendChild(elink)
        elink.click()
        URL.revokeObjectURL(elink.href) // 释放URL 对象
        document.body.removeChild(elink)
      })
    },

方法三 导出excel (后端返回的二进制blob流)

在响应拦截器里面判断一下是否是Blob流。===》默认是JSON
在这里插入图片描述
安装依赖

npm i file-saver

在页面中

//引入
import FileSaver from 'file-saver'

//获取excel的二进制blob流
 async exportUser() {
     const result = await exportUser() // 导出所有的人员接口
     // console.log(result) // 使用一个npm包 直接将blob文件下载到本地 file-saver
     // FileSaver.saveAs(blob对象,文件名称)
     FileSaver.saveAs(result, '员工信息表.xlsx') // 下载文件
 },

api

export function exportUser() {
  return request({
    url: '/sys/user/export',
    // 改变接收数据的类型
    responseType: 'blob' // 使用blob接收二进制文件流
  })
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值