一直以来都有一个困扰,就是自己搭建的Nextcloud在线浏览PDF始终有问题,如下图:
之前也在网上胡乱搜索了一通,各种更换PDFJS版本、CORS解决跨域问题、安装chrome跨域扩展,都没有解决问题。于是我就把问题归结于“水土不服”了,nextcloud嘛,老外的东西,可能某些东西被土蔷导致在线加载异常吧。
直到我又搭建了kodbox,在线浏览PDF仍然异常。这我就纳闷了,官方的演示站可是很正常的。
再次不服气,索性我就打开了F12,看了整个PDF的加载过程:首先从服务器加载pdfjs,然后加载pdf文件,然后IDM就弹出了下载框,紧接着报错;
首先,pdf.js是加载成功的,这没问题;其次,pdf文件也正常加载,IDM下载框都弹出了;那就纳闷了,继续搜索,github上有个issue是说是跨域问题解决的,于是我又按照教程,安装“access-control-allow-origin”插件,开启跨域,仍然不行。NND!
意外
在郁闷中,随便点点时,发现在pdf.js的窗口中,有个加载本地文件的按钮,我加载了一个本地pdf,居然成功打开了!如下图:
这就有意思了,pdf.js加载正常,pdf文件下载链接也正常,于是我猜想,那就是加载pdf的时候出问题了?会不会是弹出的IDM的问题?
于是,我关掉chrome浏览器的IDM扩展,取消对chrome下载的接管,再试,直接搞定,PDF在线预览成功!
所以,PDF.JS预览的原理那就是,先加载PDF.JS插件,然后将PDF文件下载到缓存,然后打开。之前我的IDM在下载PDF的时候直接接管了浏览器的下载,导致PDF.JS插件加载PDF文件失败。
原理弄清楚后,还得恢复IDM的正常功能,总不能因为预览PDF就不用IDM吧,进入IDM选项,取消对PDF的自动下载,搞定!
「艾尔登法环」梅琳娜手办开订 立体手办▪
万代「艾尔登法环」白狼战鬼手办开订 立体手办▪
「夏目友人帐」猫咪老师粘土人开订 立体手办▪
「五等分的新娘∬」中野三玖·白无垢版手办开订 立体手办▪
「海贼王」乌索普Q版手办开订 立体手办▪
良笑社「初音未来」新手办开订 立体手办▪
「黑岩射手DAWN FALL」死亡主宰手办开订 立体手办▪
「盾之勇者成名录」菲洛手办登场 立体手办▪
「魔法少女小圆」美树沙耶香手办开订 立体手办▪
「咒术回战」七海建人粘土人登场 立体手办▪
「五等分的新娘」中野二乃白无垢手办开订 立体手办▪
「为美好的世界献上祝福!」芸芸粘土人开订 立体手办▪
「公主连结 与你重逢」六星可可萝手办开订 立体手办▪
「女神异闻录5」Joker雨宫莲手办开订 立体手办▪
「间谍过家家」约尔・福杰粘土人登场 立体手办▪
「街角魔族 2丁目」吉田优子手办开订 立体手办▪
「火影忍者 疾风传」旗木卡卡西·暗部版粘土人登场 立体手办▪
「佐佐木与宫野」宫野由美粘土人开订 立体手办▪
「盾之勇者成名录」第2季拉芙塔莉雅手办开订 立体手办▪
「咒术回战」两面宿傩Q版坐姿手办开订 立体手办▪
「DATE·A·BULLET」时崎狂三手办开订 立体手办▪
「狂赌之渊××」早乙女芽亚里粘土人开订 立体手办▪
「魔道祖师」魏无羨粘土人开订 立体手办▪
「新·奥特曼」奥特曼手办现已开订 立体手办▪