前端 pdf文件流blob预览时pdf空白问题

1. 请求头添加 responseType: 'blob' 或 responseType: 'arraybuffer';

如果请求头没用,那就是封装的axios问题;

2.使用原生的axios,不做封装处理,更改responseType类型为 blob;

import axios from 'axios' // 引入原生的axios,不作封装处理

await axios({
    method: 'GET',
    headers: { token },
    url: `api/export`,
    responseType: 'blob' // 更改responseType类型为 blob
}).then(res => {
    // 转换pdf
    const blob = new Blob([res.data], { type: 'application/pdf' });
    const url = window.URL.createObjectURL(blob);
    window.open(url)
}).catch(err => {
    console.log(err)
})

3.可以打印下结果,查看request下的responseType是否是blob。如果是空,检查下项目是不是引入了mock,把它注释掉就行了。

4. 如果是uni.request请求接口,不妨试试将 responseType: "blob"改成 responseType: "arraybuffer"; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值