完全解决Alist 预览PDF加载失败,预览错误

Posted by cmbjx on January 14, 2025

介绍

核心思想是搭建自己的pdf.js,分为本地搭建和vps搭建 本地搭建除非把80端口也作内网映射,否则无法在外网使用,vps搭建则内外网都能使用

方法一、本地搭建

下载pdf.js

Github直接下载链接

下载后解压到桌面(别的地方也行,前提是容易找到) 1

重命名为pdfjs

2

使用记事本里面的web目录下的viewer.js文件,使用快捷键CTRL+F搜索下面内容

1
if (fileOrigin !== viewerOrigin)

3

在红色框内的三行代码前加上”//”(也就是第1563-1565行代码),如下图

4

保存后退出

下载nginx

如果你的电脑已经使用apache或者nginx开启了http服务,那么只需要把pdf.jf放到指定目录即可

nginx官方下载链接

下载后解压,将我们上一步的pdf.js放入nginx的html目录下

5

返回上级目录,双击运行nginx.exe

6

浏览器访问

http://127.0.0.1/pdfjs/web/viewer.html

出现下面页面代表成功

7

修改alist配置

仅本地使用

管理->设置->预览->iframe预览

8

将PDF.js的配置改为

"PDF.js":"http://127.0.0.1/pdfjs/web/viewer.html?file=$e_url"

保存后便能正常预览pdf文件了

端口映射实现外网使用

映射80端口这部分相信你早已掌握,端口映射成功后,只需要把PDF.js配置改为

"PDF.js":"http://映射使用到的服务器的IP:端口/pdfjs/web/viewer.html?file=$e_url"

VPS搭建

以下展示的是linux服务器的部署过程

下载pdf.js

步骤和上面的一样,同时也需要修改viewer.js中的代码

开启apache服务

service apache2 start

上传pdfjs

将修改好代码的pdfjs上传到/var/www/html目录下

修改alist配置

将PDF.js的配置改为

"PDF.js":"http://vps'IP/pdfjs/web/viewer.html?file=$e_url"

修改后便能预览pdf文件

这是修改好的文件,直接放到/var/www/html目录下面即可 pdfjs