alist配合onlyoffice 实现在线预览

alist配合onlyoffice 实现在线预览

文章目录


一、安装onlyoffice

我是采用docker安装,采用的版本是7.2, aarch64 可以支持,端口号为 18081

bash 复制代码
docker run --restart=always --name onlyoffice \
    -p 18081:80 \
    -e JWT_ENABLED=false \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \
    onlyoffice/documentserver:7.2

二、增加view.html文件

创建文件夹

bash 复制代码
mkdir -p /opt/onlyoffice
bash 复制代码
vim /opt/onlyoffice/view.html

注意:配置文件中的主机IP需要修改为自己机器的IP

bash 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>OnlyOffice Viewer</title>
</head>
 
<body>
    <div id="placeholder"></div>
    <script type="text/javascript" src="http://主机IP:18081/web-apps/apps/api/documents/api.js"></script>
    <script>
        function getQueryParamValue(name) {
            const searchParams = new URLSearchParams(window.location.search);
            return searchParams.get(name);
        }
 
        const url = decodeURIComponent(getQueryParamValue("src"));
        const fileName = url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('?') != -1 ? url.lastIndexOf('?') : url.length);
        const fileExtension = fileName.split('.').pop();
        const docEditor = new DocsAPI.DocEditor("placeholder", {
            "document": {
                "fileType": fileExtension,
                "permissions": {
                    "edit": false,
                    "comment": true,
                    "download": true,
                    "print": true,
                    "fillForms": true,
                },
                "title": fileName,
                "url": url,
            },
            "editorConfig": {
                "lang": "zh-CN",
                "mode": "view",
            },
            "height": "1080px",
            "type": "desktop",
        });
    </script>
</body>
</html>

三、安装nginx,并增加conf配置文件

bash 复制代码
sudo apt update
sudo apt install -y nginx

增加conf配置文件

vim /etc/nginx/conf.d/onlyoffice.conf

bash 复制代码
server {
    listen       18082;
    server_name  localhost;
 
    location / {
       root /opt/onlyoffice;  #这里修改为自己的view.html的目录
       index index.html index.htm;
    }
 
}

重启nginx

bash 复制代码
systemctl restart nginx 

查看nginx状态

bash 复制代码
systemctl status nginx 

四、alist预览配置增加

配置文件里面的主机IP,需要修改为安装onlyoffice 的ip

bash 复制代码
{
   "doc,docx,xls,xlsx,ppt,pptx": {
      "onlyoffice":"http://主机IP:18082/view.html?src=$e_url",
      "Microsoft":"https://view.officeapps.live.com/op/view.aspx?src=$e_url",
      "Google":"https://docs.google.com/gview?url=$e_url&embedded=true"
   },
   "pdf": {
      "onlyoffice":"http://主机IP:18082/view.html?src=$e_url",
      "PDF.js":"https://alist-org.github.io/pdf.js/web/viewer.html?file=$e_url"
   },
   "epub": {
      "EPUB.js":"https://alist-org.github.io/static/epub.js/viewer.html?url=$e_url"
   }
}
相关推荐
ZeroNews内网穿透3 天前
企业 NAS 本地目录安全对外公网访问方案:ZeroNews LFS 文件空间特性与落地场景
内网穿透·权限管理·文件共享·nas·公网访问·企业文件服务器·zeronews lfs
ONLYOFFICE3 天前
团队协作软件指南:主要类型、核心功能、选型建议等
前端·onlyoffice·office
ZeroNews内网穿透4 天前
内网部署 Halo 建站,用 ZeroNews 免费内网穿透安全发布到公网(无公网 IP 也能 HTTPS 访问)
docker·https·内网穿透·nas·反向代理·halo·zeronews
承渊政道4 天前
星空组网使用指南:设备接入、分组隔离与 NAS 文件访问
nas·星空组网
.冰块.7 天前
存储技术基础全解析:DAS/NAS/SAN、RAID 与 RAID2.0 + 详解
云计算·nas·存储技术·das·san
赵大仁7 天前
极空间 NAS 没有命令行,我逆向了它的桌面客户端
python·ai编程·nas·mcp·极空间
RuoyiOffice8 天前
SpringBoot3+OnlyOffice 自动保存版本:定时回存、间隔合并与 50 版上限怎么配
spring boot·在线文档·onlyoffice·版本管理·spring boot 3·自动保存·ruoyi office
Dachui_11228 天前
ZeroNews LFS 使用教程:NAS 文件发布为公网 HTTPS 文件空间,不传网盘、按人授权、免登录分享
运维·网络安全·文件共享·团队协作·nas
fruge10 天前
想要更轻的 Docker 管理面板?用 Dockhand 管飞牛 NAS 上的容器与 Compose
nas
云边有个稻草人13 天前
NAS 里的音乐怎么交给小爱音箱播放?XiaoMusic 部署与公网访问完整流程
nas