vue 文件转换二进制_vue中后台返回格式为二进制流进行文件的下载

在Vue项目中,通过封装GET请求并携带token获取二进制流,然后使用Blob对象和window.URL.createObjectURL方法将二进制流转化为可下载的文件,实现了后台返回二进制流文件的下载功能。具体实现包括设置请求头、解析响应数据到Blob、创建下载链接并触发下载。
摘要由CSDN通过智能技术生成

结合项目中

封装get请求携带token,进行接收二进制流

export function getHeader() {

const token = getToken();

if (token) {

return {

headers: {

"Authorization": "Bearer " + token,

}

}

}

return {

headers: {}

}

}

export function getHeader() {

const token = getToken();

if (token) {

return {

headers: {

"Authorization": "Bearer " + token,

}

}

}

return {

headers: {}

}

}

具体文件使用:

TaskManageServer.js文件:

export const dataExport2 = (vueObject, dataIdList) => getDataRaw(vueObject,dataExport1(dataIdList))

export const dataExport1 = (dataIdList)=> {

var tmp ="";

for (let i = 0; i

对应html文件具体使用:

import {

dataExport1,

dataExport2

} from './TaskManageServer'

const response = await dataExport2(this, this.dataIdList);

let blob = new Blob([response.data], {

//下载的文件类型;

type: 'application/zip'

})

// let fileName = Date.parse(new Date()) + '.zip'(修改下载的文件名)

if (window.navigator.msSaveOrOpenBlob) {

// navigator.msSaveBlob(blob, fileName)

navigator.msSaveBlob(blob)

} else {

var link = document.createElement('a')

link.href = window.URL.createObjectURL(blob)

// link.download = fileName

link.click()

window.URL.revokeObjectURL(link.href) //释放内存

}

以上即可实现下载二进制流文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值