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"
   }
}
相关推荐
读书,代码与猫3 天前
【玩转NAS系列】7.聊一聊“AI手机“和“AI NAS”
nas·家用nas·ai手机·豆包手机·ai nas·家用消费级nas·个人nas
读书,代码与猫4 天前
【玩转NAS系列】6.用NAS实现全屋智能家居功能
智能家居·nas·智能网关·家用nas·ai nas·个人消费级nas·家庭消费级nas
ONLYOFFICE4 天前
如何在 ONLYOFFICE 桌面编辑器中连接本地 AI
人工智能·onlyoffice
读书,代码与猫6 天前
【玩转NAS系列】3.“AI NAS”会跳过“AI手机”成为时代的主流,“AI NAS”时代即将到来
nas·家用nas·nas系列·ai nas·nas可以做什么·个人消费级nas·家用消费级nas
hhzz6 天前
Docker 搭建 NextCloud + OnlyOffice 完整教程(Linux Centos7系统)
linux·docker·容器·onlyoffice·nextcloud
De1ete23337 天前
群晖安装比特彗星BitComet 容器运行 webui版
群晖·nas·下载工具
lsp84ch808 天前
MacBookPro运行飞牛Nas,解决合盖亮屏
linux·网络·macbook·nas·飞牛
读书,代码与猫8 天前
【玩转NAS系列】2.哪款NAS更适合你,该怎么去选?
nas·家用nas·nas系列·ai nas·nas可以做什么·个人消费级nas·家庭消费级nas
读书,代码与猫9 天前
【玩转NAS系列】1.NAS是什么?NAS可以用来做什么?
nas·家用nas·nas系列·ai nas·nas可以做什么·个人消费级nas·家庭消费级nas
长安即是故里10 天前
NAS内网穿透工具lucky & CloudFlare Tunnels分享
内网穿透·nas·lucky内网穿透