linux学习记录

  • 首页
  • 入门LINUX
  • 建站
  • Why
  1. 首页
  2. 建站
  3. 正文

(解决)PDF.js提示:载入PDF时发生错误 ,信息:Failed to fetch

2021年5月24日 3692点热度 17人点赞 5条评论

前言

一直以来都有一个困扰,就是自己搭建的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的自动下载,搞定!

 

标签: nextcloud
最后更新:2021年5月24日

Frank

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • 函谷关

    确实有用

    2021年8月22日
    回复
  • pig

    有效!感谢博主

    2022年8月27日
    回复
  • QuinnTian

    果然是IDM的原因

    2022年10月10日
    回复
  • xy

    万分感谢!百度了好久才找到原因

    2023年2月21日
    回复
    • Frank

      @xy 居然还有百度来的小伙伴,还真是令人欣喜呀。

      2023年2月22日
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    COPYRIGHT © 2020-2023 frank9.com. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    渝ICP备2020014100号-1