Javascript

vue下载二进制流文件,这种方法你试过吗

本文主要是介绍vue下载二进制流文件,这种方法你试过吗,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

    今天给各位同学说一种vue下载二进制流文件的方法:后台直接返回文件的二进制内容,然后前端转化再下载。具体内容如下:

    Blob、ajax(axios),Blob 对象表示一个不可变、原始数据的类文件对象。Blob 表示的不一定是JavaScript原生格式的数据,具体使用:

axios({

  method: 'post',

  url: '/export',

  responseType: 'arraybuffer',

})

.then(res => {

  // 假设 data 是返回来的二进制数据

  const data = res.data

  const url = window.URL.createObjectURL(new Blob([data], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}))

  const a = document.createElement('a')

  a.href = url

  a.click()

  // const link = document.createElement('a')

  // link.style.display = 'none'

  // link.href = url

  // link.setAttribute('download', 'excel.xlsx')

  // document.body.appendChild(link)

  // link.click()

  // document.body.removeChild(link)

})

    好啦,以上便是关于vue下载二进制流文件,这种方法你试过吗的全部内容,更多内容干货可关注慕课网~


这篇关于vue下载二进制流文件,这种方法你试过吗的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!