前端接收pdf文件_后台返回文件流,前端实现预览pdf

本文介绍了在前端如何处理后台返回的PDF文件流,利用ViewerJS进行预览。过程中遇到了包括响应数据类型设置、浏览器兼容性、CORS跨域、URL编码等问题,并详细记录了解决方案。最终通过调整URL路径,成功在线上环境中实现预览。
摘要由CSDN通过智能技术生成

ViewerJS: http://viewerjs.org/   预览pdf文件,其pdf文件只能url地址

这个项目是基于vue的,但发现实现起来可以忽略,直接把官网 下载的文件,build文件夹和web文件夹全都放在项目的static文件夹下,

我在实现功能时,看了一些其余博客都是要把viewer.js里面的

varDEFAULT_URL='compressed.tracemonkey-pldi-09.pdf'  这个里面是PDF的路径删除该变量定义;

这一步我没有操作最后也实现功能。

有些人是在view.html里面直接加代码段什么的,但是我这个项目是要在某个组件里面,选择符合条件的订单才能预览pdf,所以我把有关view.html里面操作的相关方法都pass掉了。

然后调取后台接口,发现几个问题

直接在Network里面看的图

接口返回的数据

两者的内容完全不一样,通过查资料发现,我的脚手架里面

// 设置默认返回数据类型    axiosIns.defaults.responseType ='json'

于是我在调接口的时候要改变类型,刚开始我设置成了blob,还有arrayBuffer发现都不对,后来还是在network里面查看了一下,发现后台需要的是另外一个,于是如下操作

responseType:"multipart/form-data"

这样拿到的data值和看到的就是一样

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值