赞
踩
众所周知啊,在web浏览器中是无法直接预览Excel、world文档等文件的,PDF有的浏览器是打开预览,有的浏览器是跳转到下载页,行为不一致也是让开发者头疼的事情。
今天给大家提供一个解决方案,实现office文件在线预览的解决方案,这个在开发OA,推送通知触达的应用非常有用。借助插件——onlyoffice实现在线预览功能!
操作环境:centOS + 宝塔面板
在宝塔面板的【软件商店】中查找应用docker,安装docker跟docker管理器,并将它放置在面板首页。这样我们就可以在面板首页找到docker管理器了。
在宝塔首页点击Docker管理器,在官方镜像仓库中搜索并安装 documentServer。
拉取完毕之后在你的docker镜像中就能找到onlyoffice镜像了。
我们通过命令docker inspect [images_id],看到该镜像暴露了一个80端口。这是用于镜像访问的端口,我们启动容器的时候做好端口映射就能成功访问了。
可在命令行中,通过命令:
docker run -it --name documentServer -d -p 9090:80 onlyoffice/documentserver
其中,-it表示使用交互式终端,ubuntu是基础镜像,bash则是要执行的命令。当我们运行这条命令时,Docker会自动为我们创建一个容器,并在其中开启一个bash终端。此时,我们就可以在容器中运行各种bash命令,这对于需要交互式操作的用户来说非常方便。
-d选项表示让Docker以守护进程方式运行容器。在我们使用-d选项时,Docker会把容器放到后台执行
-p表示端口映射,我们将本机的9090端口(可随你指定),映射到onlyoffice镜像的80端口
启动成功之后会返回一个容器ID
访问localhost:9090,如果出现了一下画面那么onlyoffice服务已经启动成功!
启动成功之后会提供一个js文件,通过http://localhost:9090/web-apps/apps/api/documents/api.js 访问,前端引用该文件做好配置即可在线预览office文件。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
-
- <body>
- <div id="placeholder"></div>
- <script type="text/javascript" src="http://localhost:9090/web-apps/apps/api/documents/api.js"></script>
- <script>
-
- var docEditor = new DocsAPI.DocEditor("placeholder", {
- "document": {
- "fileType": "docx",
- "permissions": {
- "edit": false,
- },
- "key": "C8D7FB890BAC496FB0D27B163EDB88BDAA",
- "title": "zf张飞.docx",
- "url": "你需要预览的文件地址",
- },
- "height": "1000px",
- "width": "100%"
- });
-
- </script>
- </body>
- </html>

至此,已经可在线预览了。
onlyoffice git地址:https://github.com/ONLYOFFICE/DocumentServer
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。