当前位置: 首页 > news >正文

alist配合onlyoffice 实现在线预览

alist配合onlyoffice 实现在线预览

文章目录

  • alist配合onlyoffice 实现在线预览
  • 一、安装onlyoffice
  • 二、增加view.html文件
  • 三、安装nginx,并增加conf配置文件
  • 四、alist预览配置增加


一、安装onlyoffice

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

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文件

创建文件夹

mkdir -p /opt/onlyoffice
vim /opt/onlyoffice/view.html

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

<!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配置文件

sudo apt update
sudo apt install -y nginx

增加conf配置文件
vim /etc/nginx/conf.d/onlyoffice.conf

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

重启nginx

systemctl restart nginx 

查看nginx状态

systemctl status nginx 

四、alist预览配置增加

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

{"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"}
}

在这里插入图片描述

相关文章:

  • 达梦数据库
  • Ajax入门
  • 深度学习中2D检测
  • 小程序中用于跳转页面的5个api是什么?区别
  • Locust:用Python编写可扩展的负载测试
  • Vue 学习笔记 总结
  • 大厂真实面试题(一)
  • calibre,一个超厉害的 Python 库!
  • 重新学习STM32(2)NVIC
  • OpenGL相关库下载并解决三个入门问题
  • kettle从入门到精通 第六十四课 ETL之kettle kettle中执行SQL脚本步骤,使用需当心
  • 路由器重启真的好吗?多久重启一次更好?
  • 计算机网络 4.1双绞线
  • python-windows10普通笔记本跑bert mrpc数据样例0.1.001
  • 《深入浅出C语言:从基础到指针的全面指南》
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • co.js - 让异步代码同步化
  • FineReport中如何实现自动滚屏效果
  • js面向对象
  • k8s如何管理Pod
  • maya建模与骨骼动画快速实现人工鱼
  • nodejs:开发并发布一个nodejs包
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • React系列之 Redux 架构模式
  • swift基础之_对象 实例方法 对象方法。
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 回顾 Swift 多平台移植进度 #2
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 你不可错过的前端面试题(一)
  • 配置 PM2 实现代码自动发布
  • 如何合理的规划jvm性能调优
  • 如何学习JavaEE,项目又该如何做?
  • 入门到放弃node系列之Hello Word篇
  • 责任链模式的两种实现
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • (4)事件处理——(7)简单事件(Simple events)
  • (4.10~4.16)
  • (42)STM32——LCD显示屏实验笔记
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C++哈希表01)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (Java入门)抽象类,接口,内部类
  • (PySpark)RDD实验实战——取一个数组的中间值
  • (SpringBoot)第二章:Spring创建和使用
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (强烈推荐)移动端音视频从零到上手(上)
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)Scala的“=”符号简介