背景:需要做一个在小程序里能够浏览pdf的功能,并且还可以下载pdf文件,使用户在手机里找到并脱离微信,直接查看。。
首先,先解决了pdf浏览的功能,如果遇到类似需求的都知道在小程序里是没有直接浏览pdf文件的功能,要实现这个功能大致有两种方式:
第一种
先用wx.downloadFile下载文件(注意这里下载的只是本地临时文件),然后拿到文件路径使用wx.openDocument打开即可,这里文件是有大小限制的,不能超过50M;
第二种
使用webview打开pdf页面,这里需要注意的是需要配置业务域名,个人小程序是不能使用业务域名的;还一个是直接打开pdf页面android机也是打不开的,所以比较好的解决方式是用pdfjs服务;
我最终选择的第二种,第一种在不同的机型会有异常的错误;
然后是下载功能
根据文档提示的还是需要先用wx.downloadFile下载文件,然后拿到文件路径使用wx.saveFile去保存;但是,注意这里保存的也只是缓存文件,用户是不能直接在手机里查看的,而且不能自己设置文件路径以及文件名,而且缓存文件是有大小限制的,总量不超过10M。。这玩个屁。。
社区里提供了一种思路是把文件保存成图片保存在相册,让用户自己去修改文件后缀(https://developers.weixin.qq.com/community/develop/doc/000aa09ca30a9031462990b3b51000?jumpto=comment&commentid=00046880dfcdb09343294eabf514),自己也尝试了一下,android机是可以的,ios的没试,感觉太黑科技了,最终这种方式也被pass;
综合来看,确实没有什么太好的方式,只能变相的去解决了,要么就放弃下载,反正可以提供分享的功能,让用户分享页面;不然的话就给用户提供链接让用户去浏览器里下载;