前端下载后端Blob流文件

后端返回的数据在network的preview中,是一堆码。

download () {
      axios({
        method: 'get',
        url: baseUrl, //baseUrl是后端给你的下载的接口地址
        //看后台规定的类型,responseType属性根据你的实际情况确定
        responseType: 'arraybuffer'
      }).then(res => {
        //假设返回的数据在res中!!!
        const data = res
        const url = window.URL.createObjectURL(new Blob([data]), 
        // 要转化的类型,我这个是xslx文件
        { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
        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)
      })
    },

深入理解可见:深入理解xhr的responseType中blob和arrayBuffer

你可能感兴趣的:(JavaScript,javascript)