Seafile社区版集成Office Online Server实现office文件预览
Posted swordzj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Seafile社区版集成Office Online Server实现office文件预览相关的知识,希望对你有一定的参考价值。
百度能查到一篇官方论坛的方法,但这种方式可能更适合商业版,社区版集成后word文件每次只能预览1页,Excel文件打开就提示超时,基本不能用。
既然社区版是开源的,就直接改源码吧。
我的目的很简单,只要能预览就行,不需要在线编辑。经过反复查找,定位关键的源码是seahub/seahub/file.py文件
找到782行,在send_file_access_msg(request, repo, path, ‘web‘),前增加一句:
wopi_dict[‘action_url‘]=‘http://officeonline服务器域名或IP/op/view.aspx?src=‘+raw_path.replace(‘xxxx‘,‘aa.bb.cc‘)
解释一下,把原本的action_url变量的内容,替换为office online 服务器默认提供的查询接口,raw_path是待预览文件的绝对url路径(需要上下文安全认证,直接访问是打不开的)。因为我是在内网访问,默认用的ip地址,因此需要把seafile的服务器ip地址替换为office服务器可以解析的域名。
只需要这一行,就可以了。
以上是关于Seafile社区版集成Office Online Server实现office文件预览的主要内容,如果未能解决你的问题,请参考以下文章
docker版seafile添加office文件预览基于LibreOffice
docker版seafile添加office文件预览基于OnlyOffice
docker版seafile添加office文件预览基于OnlyOffice
禁用Office365 中的OneDrive 和 SharePoint Online服务