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

OpenList的Office文档预览新方式-基于宝塔面板Docker容器的BaseMetas Fileview安装与配置教程

OpenList是著名的开源网盘管理系统AList的开源分支,支持挂载网盘、S3兼容对象存储、本地文件夹等多种数据存储系统,也内置了多种格式文档的在线预览功能。Office文档是OpenList使用中较为常见的文件格式之一,OpenList采用了微软预览API接口以及谷歌预览API接口来实现Office文档的预览功能,但是在国内使用时,微软预览API接口较为不稳定(时而能打开,时而打不开)谷歌API预览接口则由于网络原因根本无法使用,给预览效果造成了极大的不便。BaseMetas Fileview 为企业级文档预览引擎,提供标准化 API、高并发支撑与横向扩展能力,可嵌入 OA、SaaS 等系统。因此,我将尝试安装并部署BaseMetas Fileview,并将其用于OpenList的文档预览功能。

一、在宝塔面板的Docker中安装并配置BaseMetas Fileview

①登录宝塔面板管理后台,点击左侧Docker,然后先点击上方栏目中的“本地镜像”,再点击下方左侧“从仓库中拉取”

②在弹出来的窗口中,先点击“命令拉取”,再复制粘贴下方链接:

docker pull basemetas/fileview:1.5.1

然后点击右边的“执行命令”,当下方命令行界面中显示“bt_succesful”时,可以关闭窗口

提醒:最新版本可前往官网文档处复制(“docker hub”下方的链接)

③此时,BaseMetas Fileview的Docker镜像已经被成功拉取,点击右侧的“创建容器”

④在弹出来的窗口中,进行以下修改(可参考下图),最后点击右下角的“保存”:

1.容器名称:BaseMetas(随意取名) 2.本地端口:9000 3.容器:80 4.对外暴露:打开

⑤现在,通过“服务器IP:9000”的方式已经能够访问到这个Docker项目首页

二、利用域名反向代理Docker中的BaseMetas Fileview项目

①在宝塔面板后台中,点击左侧“网站”,然后点击右侧“添加站点”

②填入想要反向代理Docker中的BaseMetas Fileview项目的域名,“PHP版本”可以选择“纯静态”,然后点击右下角的“确定”

③网站新建完成后,点击右侧的“设置”

④在弹出的窗口中,建议先给网站配置好HTTPS(即左侧的SSL),然后点击左侧的“反向代理”,再点击右侧的“添加反向代理”

⑤在弹出的窗口中,进行以下修改(可参考下图),最后点击右下角的“确定”:

1.代理名称:basemetas(随意取名) 2.目标URL:http://服务器IP:9000 3.发送域名:$host

⑥记得在DNS服务商中添加新域名的IP地址解析,稍等片刻,已经可以用域名的方式访问Docker中的BaseMetas Fileview项目了

三、利用域名作为OpenList在线预览文件的“转换器”

①再次点击宝塔面板左侧“网站”,然后点击右侧“添加站点”

②输入一个新域名(或新的二、三……级域名),选择PHP版本(不用太老就行,建议8.0及以上),然后点击右下角的“确定”

③网站新建完成后,点击右侧的“设置”

④在弹出的窗口中,建议先配置好HTTPS(即SSL),然后关闭窗口

⑤点击进入刚刚创建好的网站的根目录

⑥找到“新建”,点击下方的“新建空白文本”

⑦将文件命名为“proxy.php”

⑧找到刚刚新建的“proxy.php”文件,在右侧“更多”中,点击“编辑”

⑨复制粘贴以下代码,并根据实际情况进行修改(可参考下图),然后点击左上角的“保存”:

<?php $url = $_GET['url'] ?? ''; if ($url === '') { http_response_code(400); exit('Missing url'); } $config = json_encode( ['url' => $url], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ); if ($config === false) { http_response_code(500); exit('JSON encode error'); } $data = base64_encode($config); header( 'Location: https://设置了反向代理的域名(第一个域名)/preview/view?data=' . urlencode($data), true, 302 ); exit;

⑩记得在DNS服务商中添加新域名的IP地址解析

四、OpenList中增加BaseMetas Fileview的预览选项

①登录OpenList管理员后台,点击左侧“设置”-“预览”,在右侧找到“iframe预览”,并对第一项(doc,docx,xls,xlsx,ppt,pptx)进行修改,增加一行即可(可参考下图):

"doc,docx,xls,xlsx,ppt,pptx": { "basemetas":"https://view.botaokeji.net/proxy.php?url=$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" },

②现在就可以选择一个Office文档进行测试,预览成功

提示:由于服务器性能、带宽的影响,预览服务需要一段时间缓冲转圈圈,请耐心等待哦

五、参考资料

①BaseMetas Fileview文档

②proxy.php文件代码编写以及bug修复:DeepSeek+ChatGPT

http://www.jsqmd.com/news/1216923/

相关文章:

  • 初级Java开发面试题大变天!不是门槛降了,是筛选方式改了
  • STM32串口中断机制与HAL库实战指南
  • LM Studio Bionic:本地AI智能体开发平台从入门到实践
  • KungFu32 MCU与AT24C02 EEPROM的I2C通信实战指南
  • Microsoft Agent Framework:企业级AI智能体的安全运行时框架
  • 萍乡家电清洗哪家值得推荐
  • 2026最新8款企业团队编程软件实测深度对比
  • Lua环境搭建与编辑器配置实战指南
  • 机器学习特征预处理之数据正态变换
  • Python日期特征分析与商业应用实战
  • Qt Quick开发实战:从零构建文本编辑器
  • 鸿蒙 ArkTS 实战:Split Screen Timer 从效率工具到状态管理完整解析
  • Java gRPC客户端类型详解:阻塞、异步与Future对比
  • RAGAS 评测分数不稳定?5 种方案抑制 LLM 裁判幻觉与波动
  • Android开发技术周报与实战热点解析
  • 开源AI模型技术解析:从Kimi K3部署到闭源对比实践
  • Spring Boot+Vue前后端分离项目实战:从环境搭建到用户管理模块开发
  • uniTerm v1.5.0 发布:AI 多终端协同、会话录制、SSH 私钥口令支持
  • 鸿蒙 ArkTS 实战:Memory Flip Cards 从记忆翻牌到记录管理完整解析
  • RAGAS 框架与实现原理
  • 多样性推荐系统:打破信息茧房的工业级实践
  • java shuzu Java数组玩抠图?省钱又暴力的图像处理骚操作,小白也能秒懂
  • 机器视觉检测技术选型与服务商评估指南
  • Android内存泄漏检测:LeakCanary原理与最佳实践
  • 多维聚合实战:用GROUPING SETS与窗口函数替代传统GROUP BY
  • 矩阵的秩:从课本定义到AI时代的“信息压缩器”
  • 基于YOLOv8的行人跌倒检测系统开发与优化
  • GHelper智能升级:华硕笔记本极致性能调优完整指南
  • KMS_VL_ALL_AIO:3分钟免费激活Windows系统的终极完整指南
  • 终极Obsidian PDF标注解决方案:PDF++插件完全指南