记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尚能饭否。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/741804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov5-v6.0详细解读

yolov5-v6.0详细解读 一、yolov5版本介绍二、网络结构2.1 Backbone特征提取部分2.1.1 ConvBNSiLU模块2.1.2 C3模块2.1.2.1 BottleNeck模块 2.1.3 SPPF模块 2.2 Neck特征融合部分2.2.1 FPN2.2.2 PANet 2.3Head模块 三、目标框回归3.1 yolo标注格式3.2 yolov4目标回归框3.3 yolov…

《行业指标体系白皮书》重磅发布,剖析指标建设困境,构建前瞻性的指标体系(附下载)

正处于企业指标建设过程中的你,是否经常遇到这样的问题: • 各个部门独立建设信息系统,由此产生的指标定义和计算方式各异,导致管理层无法快速准确地掌握整体业务运行状况 • 缺乏对指标的统一管理和规范,产生重复的指…

IO复用之select

目录 一.select方法介绍 2.1 select 系统调用的原型 2.2 集合的数据结构 2.2.1 fd_set 结构如下: 2.2.2 关于集合fd_set的解析 2.3 select第一个参数 2.4 select方法之超时时间timeout 2.5 select方法的用法简述及返回值 2.6 如何检测集合中有哪些描述符有事件就绪 三…

【建议收藏】大气颗粒物与VOCs PMF源解析

查看原文>>>最新大气颗粒物与VOCs PMF源解析实践技术应用 目前,大气颗粒物和臭氧污染成为我国亟待解决的环境问题。颗粒物和臭氧污染不仅对气候和环境有重要影响,而且对人体健康有严重损害。而臭氧的前体物之一为挥发性有机物(VOCs&…

Orange3数据预处理(离散化组件)

离散化:将数值属性转换为分类属性。 输出 数据:具有离散化值的数据集 设置离散化的默认方法。 选择变量以为每个变量设置特定的离散化方法。将鼠标悬停在变量上显示区间。 离散化方法Keep numeric(保持数值):保持变量不变。Remove (移除)&a…

罐头鱼AI短视频矩阵获客|AI视频批量生成

罐头鱼AI传单功能操作说明,智能化提升您的视频营销效率! 在这个信息爆炸的时代,短视频已成为企业营销的重要方式之一。而为了更高效地进行视频营销,罐头鱼AI传单功能应运而生,为您提供全方位的视频管理和发布服务。 首…

【最全最详细】微信第三方平台开发 —— 接收公众号事件/消息

文章目录 1. 整体流程2. 成为服务商2.1. 首先打开微信开放平台,注册并登录你的账号2.2. 进行开发者资质认证2.3. 创建第三方平台并提交审核 3. 搭建第三方平台后端服务3.1. 管理员设置 和 权限集设置3.2. 开发资料设置3.3. 进行商家授权操作3.3.0. 加密解密操作3.3.…

一篇文章讲清楚HashMap

HashMap 查询、删除的时间复杂度 HashMap的底层实现 HashMap的长度为什么是2的幂次方 HashMap和HashTable的区别

新零售SaaS架构:什么是线上商城系统?

零售商家为什么要建设线上商城 传统的实体门店服务范围有限,只能吸引周边500米内的消费者。因此,如何拓展服务范围,吸引更多消费者到店,成为了店家迫切需要解决的问题。 缺乏忠实顾客,客户基础不稳,往往是…

IEEE802.11v协议介绍

IEEE802.11v协议简介 协议全称:无线网络管理(Wireless Network Management) 批准日期:2011年2月 协议状态:并入802.11-2012 协议别名:BSS过渡管理 主要功能 支持AP和STA间交换:关于RF环境和拓扑状态的信息,以协助STA进行漫游决策支持STA之间交换:关于RF环境状态的信…

【Python】random库

专栏文章索引:Python 原文章:Python中random函数用法整理_python random-CSDN博客 目录 1.random.random() 2.random.uniform(a, b) 3.random.randint(a, b) 4.random.randrange([start], stop[, step]) 5. random.choice() 6. random.shuffle(x[,…

算法详解——贪心算法

贪心算法,又称贪婪算法,是一种解决问题的策略。其核心思想是在每个阶段都选择当前看起来最优的解决方案,而不考虑整体最优解。虽然贪心算法并不能保证一定得到全局最优解,但在许多情况下,它展现出了高效且简单的特点&a…

四川尚熠电子商务有限公司领航抖音电商新纪元

随着互联网的飞速发展,电子商务已经成为现代商业的重要组成部分。在这个变革的时代,四川尚熠电子商务有限公司凭借其敏锐的市场洞察力和创新精神,专注于抖音电商服务,为广大品牌商家提供了一站式的电商解决方案,成为行…

从菜鸟到大师!年薪20W的c++ QT开发工程师需要懂哪些技术?

如今Qt的知识也变得非常广泛和复杂,学习起来同样具有一定的挑战。对于Qt从业者来说,有两个主要层面:一个是深入理解Qt框架和基础知识,另一个是具备丰富的工程经验。 还不熟悉的朋友,这里可以先领取一份Qt开发必备技术…

基于 onsemi 汽车前置大灯设计之 PCB 设计注意事项

一、 基本介绍 Blitz Fly 方案是世平集团推出的基于 onsemi NCV7802 & NCV78723 的汽车前置大灯方案。该方案针对汽车前照灯设计,主要分为四个部分: 1. LED 驱动: 以 onsemi NCV78702 以及 onsemi NCV78723 为核心。NCV78702 是一款用于…

查询IPv4归属地信息的几种方式

查询IPv4归属地信息是一个在网络管理和安全领域常见的需求。IPv4地址是互联网协议第四版中定义的网络层地址,它允许计算机和网络设备在全球范围内进行通信。而查询IPv4归属地信息,即是指确定该IPv4地址所在的地理位置或注册的网络服务提供商,…

【HTML】1px边框与1px分割线

对比图 箭头标注的是处理过的 1px分割线 使用transform的scaleY进行缩小 码 <div class"mini-heriz"></div><br><div style"border: solid 1px black; width: 300px;height: 1px;"></div> <style> .mini-heriz {wi…

深入理解 MySQL 中的 CASE 语句:从基础到实战

在数据库处理中&#xff0c;条件逻辑是不可或缺的部分&#xff0c;特别是在需要根据某些条件动态改变输出结果时。MySQL 的 CASE 语句提供了一种强大的方式来实现这种逻辑&#xff0c;让你可以在 SQL 查询中包含条件分支。本文将深入探讨 CASE 语句的使用方法&#xff0c;并通过…

操作系统:进程控制(上)

目录 1.进程创建 1.1.fork()函数 1.2.写时拷贝 2.进程终止 2.1.进程的退出场景 2.1.1.退出码和错误码&#xff08;正常终止&&任务失败&#xff09; 2.1.2.异常终止 1.进程创建 1.1.fork()函数 在linux中&#xff0c;fork函数时非常重要的函数&#xff0c;它从已…

Python白练-1字符串操作示例

问1&#xff1a;请对下列字符串进行操作&#xff1a; str1 "Hello World!" print(str1) print(str1[0:-1]) print(str1[-1]) print(str1[2:5]) print(str1[2:]) print(str1*2) 参考答案请见评论区。 Python 提供了丰富的字符串操作功能&#xf…