百度能查到一篇官方論壇的方法,但這種方式可能更適合商業版,社區版集成后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服務器可以解析的域名。
只需要這一行,就可以了。
