AList添加epub文件预览功能流程分享 #2735
Kuingsmile
started this conversation in
Show and tell
Replies: 2 comments 3 replies
-
其实一个onlyoffice可以一起搞定word,excel,ppt,pdf,epub的,而且所有的网盘都支持 |
Beta Was this translation helpful? Give feedback.
1 reply
-
搞个pull request合并到main line去啊 |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
为AList V3添加在线epub预览支持教程
AList V3是一个支持多种存储的文件列表程序,使用 Gin 和 Solidjs开发。
AList的默认预览功能中,并不支持epub格式电子书的在线预览,经过我的摸索,成功基于epub.js项目,为AList添加了epub的预览支持,效果如下所示:
下面,我就介绍一下如何进行搭建。
说明
类似于pdf.js,一些不支持CORS的相关云盘无法预览,比如阿里云盘。
此外,如果未使用https,也可能会出问题,请提前为域名部署证书。
文件加载速度与网速密切相关,如果是200M以上的全本小说可能需要数分钟的时间,请耐心等待。
动图演示
工具准备
首先我们需要准备以下文件,js和css可以通过CDN链接的方式引入html文件或者下载到需要部署的本地服务器目录内。
部署
修改Nginx设置
在自己的AList网站根目录下,新建一个
epub
目录,将刚才下载的文件复制进来并修改用户和用户组为www:www
。在部署Alist时,根据官方指南,我们设置了如下的反向代理,这会使得我们新添加的epub目录也被转发。
因此,我们需要添加如下一行来进行排除。
修改spreads.html文件
如果将js文件和css文件都下载在了本地服务器,请修改对应部分的引入代码为本地相对路径,例如放在同一目录下时:
AList V3在返回预览链接时,返回的是直链地址,epub.js在解析时会尝试请求/META-INF/container.xml这个文件导致报错,因此我们需要修改读取方式为ArrayBuffer。
原代码为:
修改为:
修改AList预览设置
在原预览设置的json文件内添加如下键值对,注意修改test.com为你自己的AList域名。
Beta Was this translation helpful? Give feedback.
All reactions