【blob文件下载】及【路由跳转传参】代码记录

24 篇文章 3 订阅
3 篇文章 0 订阅
// 使用Id下载导出数据
export function getDownload (data) {
  return request({
    method: 'get',
    url: `/download/${data}`,
    responseType: 'blob'
  })
}
// 下载数据
    getTeacherDownload () {
        //浏览器下载
      // window.open(getTeacherDownload + this.opData.orgId)
      if (this.id) {
        getTeacherDownload(this.id).then(res => {
          // function downFile (blob, fileName) {
          //   if (window.navigator.msSaveOrOpenBlob) {
          //     navigator.msSaveBlob(blob, fileName)
          //   } else {
          //     const link = document.createElement('a')
          //     link.href = window.URL.createObjectURL(blob)
          //     link.download = fileName
          //     link.click()
          //     window.URL.revokeObjectUrl(link.href)
          //   }
          // }
            //Blob 对象的 type 属性给出文件的 MIME 类型
          const blob = new Blob([res], { type: 'application/octet-stream' })
          downFile(blob, '数据.xlsx')
        })
      }
    }
// 这里要[res] ---调用方式 ---调用前
// const blob = new Blob([res], { type: 'application/octet-stream' });
// 文件名要带后缀的--------调用
// downFile(blob, '生成全班电子报告.xlsx')
downFile = (blob, fileName) => {
  if (window.navigator.msSaveOrOpenBlob) {
    navigator.msSaveBlob(blob, fileName)
  } else {
    const link = document.createElement('a')
    link.href = window.URL.createObjectURL(blob)
    link.download = fileName
    link.click()
    window.URL.revokeObjectURL(link.href)
  }
}

路由跳转及传参

//跳转方法及传过去一个id
const route = this.$router.resolve({ path: '/newsinfo', query: { id: id } })
window.open(route.href, '_blank')
//接受方法
const id = this.$route.query.id

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值