Seafile社区版集成Office Online Server实现office文件预览

99封情书 提交于 2020-02-14 18:18:02

百度能查到一篇官方论坛的方法,但这种方式可能更适合商业版,社区版集成后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服务器可以解析的域名。

只需要这一行,就可以了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!