post 下载返回数据流,上传文件

post 下载数据流

// 利用blob 构造函数去解析返回的数据流,模拟跳转去下载
// 1.示例
 excelreportClick () {
        // window.location.href = this.base + '/api/user/excelreport/?scan_task_id=' + this.searchQuery.run_id
        excelreport({ scan_task_id: this.searchQuery.run_id }).then(res => {
             const blob = new Blob([res], { type: 'application/xls' }) // 构造一个blob对象来处理数据,并设置文件类型
              if (window.navigator.msSaveOrOpenBlob) {
                    // 兼容IE10
                    navigator.msSaveBlob(blob, res)
                  } else {
                    const href = URL.createObjectURL(blob) // 创建新的URL表示指定的blob对象
                    const a = document.createElement('a')
                    a.style.display = 'none'
                    a.href = href // 指定下载链接
                    a.download = this.pathInfo.scan_task_name + '.xls' // 指定下载文件名
                    a.click()
                    URL.revokeObjectURL(a.href) // 释放URL对象
                  }
          })
      },




// 2、返回数据流要记得去配置axios请求头responseType的格式 不然无效
export function excelreport (data) {
  return request({
    url: api.excelreport,
    method: 'post',
    responseType: 'arraybuffer',
    data
  })
}

// 上传 到服务器

// 利用fromData 转换上传
 const formData = new FormData() // 创建fromData对象
 formData.append('字段名字',上传获取到得file文件)
 

上传示例

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值