最近风靡全网的alist网盘系统出现变故,可能存在较大隐患,于是博主根据网络各类资料采用openlist系统进行了替代,同时根据过往经验搭建了onlyoffice,实现了office文档和pdf文档的在线预览。现将过程记录一下: 1、搭建宝塔面板、安装nginx和docker环境。过程不多赘述。 2、使用docker安装openlist系统。方法如下: 1)openlist的docker安装 docker run -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 25244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="openlist" openlistteam/openlist:latest 2)设置密码 docker exec -it openlist ./openlist admin set NEW_PASSWORD 3)挂载网盘(略) 4)上传用于测试的OFFICE、pdf文档。 3、使用docker安装onlyoffice 1)安装onlyoffice(禁止JWT验证)
docker run -d --name onlyoffice \
-p 8081:80 \
-e JWT_ENABLED=false \
-v /onlyoffice/logs:/var/log/onlyoffice \
-v /onlyoffice/data:/var/www/onlyoffice/Data \
onlyoffice/documentserver
4、在宝塔面板新建静态网站,openlist.test.com
1)在根目录新建viewer.html,代码如下:
<!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://x.x.x.x:8081/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>
注意,viewer.html权限为www 0755
5、设置openlist的预览方式:
在openlist后台管理界面--设置--预览,编辑“Iframe 预览”代码,在office文件和pdf文件下方增加“
"onlyoffice":"http://openlist.test.com/viewer.html?src=$e_url",



文章评论