后台传给前端二进制文件流
前端解析成blob后,获得空的PDF。
使用axios 发送post请求,调取后台接口,返回的pdf文件文件流为空:
let res = await axios.post('sale/api/induction/mixcontract',params)
// 获取合同 处理数据
解析blob:
let blob = new Blob([res.data],{ type: 'application/pdf' });
this.pdfurl = URL.createobjectURL(blob);console.log(this.pdfurl);
把解析后的内容进行打印,并在本地打开,是空的内容。
是因为在发送请求的时候,前端需要指定获取的类型。
解决如下:
1、查看项目中 是否对axios进行封装?如果封装了在哪里可以传入请求头的内容?
2、若没有对axios的类型封装;此时在axios发送请求的时候,比如post请求,那需要知道第几个参数可以设置请求头。
将代码修改如下:
let res = await axios.post('sale/api/induction/mixcontract',params,{responseType: 'blob'} )
在本地打开解析后blob 即可展示获取到的文件内容;
那么解析后的blob pdf文件如何进行回显呢?