由于项目中需要支持移动设备在线浏览pdf,苹果还好,天生支持,但是安卓中就不行了,需要第三方组件的支持。
这里就找到了pdf.js,由于pdf数据太多,开始的时候没法一一测试,所以随便测试打开了几篇没问题后就直接上线了。
但是后面就悲剧了,偶然收到反馈,有些pdf无法正常浏览,此为写本文的原因。
具体的现像
查找问题过程
一、用火狐(火狐解析pdf是用的pdf.js)来直接打开这篇pdf,发现居然是对的,那怀疑用的pdf.js不是最新的?下了一个,问题依旧。问题陷入僵局。
二、漫无目的,打开浏览器调试,凭习惯去看看是不是有异常报错之类的信息,发现真的有信息,提示某个资源没有找到,如图:
三、根据提示的这个错误去搜索,一下找到了答案,服务端没有做MIME类型映射。
问题解决:
根据搜索到的解决方案,在服务器网站中添加如下MiME映射。
.properties
application/octet-stream
.bcmap
application/octet-stream
再次浏览这篇pdf,可以发现,已经正常。