记OnlyOffice的两个大坑

开发版,容器部署,试用许可已安装。

word,ppt,excel均能正常浏览。

自带的下载菜单按钮能用。

但config里自定义的downloadAs方法却不一而足。

word能正常下载,excel和ppt都不行。

仔细比对调试了代码。发现app.js的文件里有很多蹊跷。

这三个类型的文档加载的app.js都是不一样的

上面三个路径分别对应ppt,word,excel的加载项。

路径不一样,文件也不一样。这可以理解,不同文档特性不同,根据业务分开处理没毛病。

但同样的功能却搞不一样的实现,有点奇怪。

手动触发下载流程大概是这样的:

1、发起下载请求,一个downloadas指令请求:

2、服务端响应,并通过websocket返回下载地址:

再通过事件trigger通知到最初绑定的downloadAs函数。

完成下载闭环。

仔细分析了他们的流程,word是能正常工作的,整个流程没问题。

excel不行。为啥不行呢?

分析app.js

word:

excel:

excel是canDownload=true时走到reportError里去了,有点匪夷所思。

加个!就可以了,程序员不骗程序员。

再看ppt为啥不行。

ppt的这段流程是对的,没毛病。

下载请求发出去了,websocket也通知回来了,但没回调绑定的downloadAs事件。

再仔细对比,发现是最终的asc_onDownloadUrl没注册,

word和excel中都有注册,独ppt没有,奇怪,于是仿照word注册进去,还是报错,

结果发现对应的事件都没做申明,补上居然可以了!!!

1、加上下面这个

2、再加上下面这个

把新的app.js挂载到docker对应的目录即可。

这种问题,问官方客服是没有用的,问就是要你看文档。

坑这么多,不知onlyoffice尚能饭否。。。

moments later,来自onlyoffice的官方确认:

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值