需求
PDF文件要预览而不是一点击就下载。
问题
问题:我们上传的文件都存储在阿里云,返回的链接都是oss的,默认点击都是下载。
采用的方案
最初的时候跟后端沟通,它提供一个新的文件预览接口,我只要将文件地址当参数传给他,就可以,这样打开一个新的页面就可以预览了。我们之前有类似的需求也是这样实现的。但是这次我们遇到的问题是,接口所用的域名是没有备案过的,不能直接通过浏览器访问,而因为业务上的问题,这个域名也不能备案,所以这个方案就被否了。
接下来通过查阅资料,了解到oss可以绑定一个三级域名实现预览,但是也涉及到域名备案,仍旧不能实现。
所以这个预览的重担只能通过前端去解决了。最后决定用PDF.js,直接用链接会跨域。然后用base64的方式,需要后端配合返回base64的格式,但是我后端返回的base64格式,跟官方给的格式有点不一样,直接用PDF解析不了,因为时间的原因我也没有研究,就暂时又换了方案。
最后用iframe的方式,将PDF转成的base64字符串直接作为src值就可以了,记得base64前面要拼接文件类型。