OnlyOffice文档预览接入
因公司业务需要,需在Flask开发的后台里提供对文档的预览等功能,在自己的系统里嵌入onlyoffice。
首先部署onlyoffice的服务器为CentOS,首先安装docker,这步就省略了。
安装好docker后,键入命令
docker run -i -t -d -p 8090:80 -v /root/onlyoffice/DocumentServer/logs:/var/log/onlyoffice -v /root/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
这时候输入服务器ip:8090出现下面页面则部署成功
接下来在OnlyOffice Python安装必备组件,使用编辑器运行网站。里面的server配置也不用多说,在官方文档里都有。
将该项目运行起来后,输入该服务器ip进入到以下页面:
这个时候基本的onlyoffice服务已经配置成功,点击upload File后就可以上传文件并进行预览。我的版本出现了一个报错‘the document couldnt be saved’,经过多方查找发现丢失了一些js包,如丢失sdk-all.js。于是docker exec -it ecstatic_mestorf bash
进入到onlyoffice容器里去查找,进入容器后到达路径/var/www/onlyoffice/documentserver/web-apps/apps/api/documents
打开cache-script.html并把下图两行代码注释掉
这时候再回到ip:8090地址,对文件进行预览后就可以了。
这个时候,onlyoffice功能已可以使用,可是还没有接入到我们自己的系统里面。看了下Python Example代码和其上传流程,本想通过ftp把文件上传到app_data里面,可是后来发现,直接通过文件上传不会生成一个“文件-hist”的文件,所以我们还是得通过Exmaple里面的 upload方法来对文件进行上传,然后返回预览的地址连接才行。
于是在自己系统中,则需要将该服务器的文件,通过部署在Python Example的upload上传文件的接口来进行传输:
def prview(*args):data = request.get_json()ret = statu_code.SUCCESStry:id_list = []for i in data:id_list.append(i['id'])file_list = db.session.query(f).filter(f.id.in_(id_list)).all()for i in file_list:dir = basedir + '/ttt/' + i.file_nameurl = 'http://EXAMPLE IP/upload'files = {'uploadedFile': (i.file_name, open(dir, 'rb'))}req = requests.post(url=url, files=files)preview_url = 'http://EXAMPLE IP/edit?filename=%s'//在这里,我们先把EXAMPLE 预览地址写死,因为所有的预览地址都是该格式preview_url = preview_url.replace('%s', i.file_name)ret.update({'preview_url': preview_url})return jsonify(ret)except Exception as e:return jsonify(statu_code.FAILED)
在Python Example中,因为upload的时候会用上传者ip来创建一个文件夹,然后才把上传的文件放入该ip来命名的文件夹中,这对我们来说不需要,所以就将所有上传者ip写死,我就写成python example的服务器地址了,也就是在/src/utils文件夹下的 docManager.py文件里所有curAdr地址全部写成自己写死的ip。最后再改写一下action.py里upload对文件的接收方法,也就是把fileInfo = request.FILES['uploadedFile']
变成fileInfo = request.FILES.get('uploadedFile')
即可。
此时通过自己的系统,点击预览时,自己的系统会将该文件通过example服务器的upload方法,通过onlyoffice直接对文件进行预览。
OnlyOffice文档预览接入相关推荐
- MarkdownView:Markdown 文档预览视图组件
原文链接:https://github.com/keitaoouchi/MarkdownView MarkdownView:Markdown 文档预览视图组件.# 为开源点赞# -- 由SwiftLa ...
- 每年节省170万美元的文档预览费用,借助机器学习的DropBox有多强?
[CSDN 编者按]Dropbox 借助机器学习的预测功能,每年能为公司节省了一百多七十多万美元的基础架构成本.非常了不起的成就.本文,一起来看一看 Dropbox 采用机器学习的经过,以及分析一下其 ...
- 在线文档预览方案-office web apps续篇
上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...
- 在线文档预览方案-office web apps
原文:在线文档预览方案-office web apps 最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现 ...
- [转载]在线文档预览方案-Office Web Apps
最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...
- java office文件加水印_文档预览加水印——或可一用的防泄密方式
给文件加水印是常见的一种宣示版权的方式.像Office.WPS都自带加水印功能,能够给文档加上"保密"."严禁复制"这样的水印. 在多可系统中,也有这么一个添加 ...
- DropBox:机器学习每年可以为我们节省170万的文档预览费用
[CSDN 编者按]Dropbox 借助机器学习的预测功能,每年能为公司节省了一百多七十多万美元的基础架构成本.非常了不起的成就.本文,一起来看一看 Dropbox 采用机器学习的经过,以及分析一下其 ...
- 跨平台Office文档预览原生插件,非腾讯X5,支持离线,稳定高可用
引言 2023年4月13日零时起,腾讯浏览服务内核文档能力正式下线,要实现真正离线文档预览,于是有了这边文章. 前面写了多篇关于<跨平台文件在线预览解决方案>,不管使用pdf.js.Lib ...
- 纯前端文档预览,还要支持所有主流格式,有这一篇就足够了
写在前面 纯前端的文档预览功能,是非常常见的需求,但就是这么简单的需求,难住了许多可爱的小伙伴们.别急,先访问一下解决方案,给你一个惊喜,再往下看: 文件在线预览DEMO 服务器文件预览DEMO 20 ...
最新文章
- oracle10g索引不生效,oracle 10g分区表索引失效测试
- Python - 在CentOS7.5系统中安装Python3
- python数据文件读写
- 解决navicat 导出excel数字为科学计数法问题
- 第九届国际冬季脑机接口会议(BCI2021)
- MySQL里的wait_timeout
- Install oracle 10g on RHEL 5.6--quick reference
- 【Android】两种动画介绍(Tween动画、Frame动画)
- NSString NSURL
- c语言指针跨函数使用内存
- java 反射 getClass()
- 区块链应用如何实现资金盘分红
- window.crypto.subtle进行rsa-oaep加密
- 65883-12-7,PEG5-Ms带有甲磺酸基和羟基的PEG连接剂
- 阿里云DevOps助理工程师认证题库和笔记(ACA)2021最新
- 固态硬盘运行服务器,固态硬盘(SSD)在服务器中的工作原理是什么
- JSD-2204-创建Spring项目-Day19
- 多功能搜索友联自助交换多色彩皮肤网站图片本地化附带交易系统网址导航源码蜘蛛
- Linux:sk_buff完全剖析与理解【转】
- 计算机开放电子书归档 2018 1