fetch下载功能

fetch下载功能(需要后台同学的配合)

下面展示一些 内联代码片

const postDownloadFile = (url = ``, data = {}) => {
  console.log('?')
  // let formData = new FormData()
  // for(let key in data) {
  //   formData.append(key, data[key])
  // }
  // Default options are marked with *
  return fetch(url, {
    method: 'GET', // *GET, POST, PUT, DELETE, etc.
    mode: 'same-origin', // no-cors, cors, *same-origin
    cache: 'default', // *default, no-cache, reload, force-cache, only-if-cached
    credentials: 'same-origin', // include, same-origin, *omit
    headers: {
      // "Content-Type": "application/json; charset=utf-8",
      'Content-Type': 'application/x-www-form-urlencoded',
      'X-Requested-With': 'XMLHttpRequest'
      // "Content-Type": "multipart/form-data",
    },
    redirect: 'follow', // manual, *follow, error
    referrer: 'client' // no-referrer, *client
    //credentials: "include", //携带cookie
    //body: json2search(data)
    // body: JSON.stringify(data), // body data type must match "Content-Type" header
  })
    .then(res =>
      res.blob().then(blob => {
        var a = document.createElement('a')
        var url = window.URL.createObjectURL(blob)
        // var filename = res.headers.get('Content-Disposition')
        var filename = 'attachment;filename=' + data.name + '.xlsx'
        a.href = url
        a.download = filename.replace('attachment;filename=', '')
        a.click()
        window.URL.revokeObjectURL(url)
      })
    )
    .catch(error => console.error(`Fetch Error =\n`, error))
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值