前端下载——处理后端返回的二进制文件

前端下载——处理后端返回的二进制文件(乱码

1.处理

请求接口添加 如果后台返回给我们的是二进制流数据,我们就要在发送的时候加上{responseType:‘blob’}或者是{responseType: ‘arraybuffer’},这行代码,这样返回给我们的就不是乱码了

export const tgContactsExport = (data: any) => {
    return new Promise((resolve, reject) => {
        axios
            .get(`/tg/tgContacts/export`, {
                ...data,
                responseType:'blob'
            })
            .then((res: any) => {
                resolve(res.data);
            })
            .catch((err: any) => {
                reject(err);
            });
    });
};

 if (result) {
                        // 执行
                        const { res, error } = await handleAsync(() => tgContactsExport({ ...paramsPayload, accounts: selected }));
                        if (error) {
                            return sendMsg(error?.message || '导出失败', 'error');
                        }

                        const link = document.createElement('a');
                        link.href = window.URL.createObjectURL(res);
                        link.download = `export${new Date().getTime()}.xlsx`;
                        document.body.appendChild(link);
                        link.click();
                        document.body.removeChild(link);

                    } else {
                        console.log('Cancelled!');
                    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值