当前位置: 首页 > news >正文

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

相关文章:

记OnlyOffice的两个大坑

开发版,容器部署,试用许可已安装。 word,ppt,excel均能正常浏览。 自带的下载菜单按钮能用。 但config里自定义的downloadAs方法却不一而足。 word能正常下载,excel和ppt都不行。 仔细比对调试了代码。发现app.js…...

分享几个Google Chrome谷歌浏览器历史版本下载网站

使用selenium模块的时候,从官网下载的谷歌浏览器版本太高,驱动不支持,所以需要使用历史的谷歌浏览器版本 ,这里备份一下以防找不到了。 驱动下载地址:https://registry.npmmirror.com/binary.html?pathchromedriver 文…...

备考2025年AMC8竞赛:吃透2000-2024年600道真题(免费赠送真题)

我们继续来随机看五道AMC8的真题和解析,根据实践经验,对于想了解或者加AMC8美国数学竞赛的孩子来说,吃透AMC8历年真题是备考最科学、最有效的方法之一。 即使不参加AMC8竞赛,吃透了历年真题600道和背后的知识体系,那么…...

考研复试C语言篇

第一章 概述 1.1什么是程序 为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的合集。 1.4C语言的特点 代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,也适用于多种机型。使允许直接访问物理地址…...

Docker架构深度解析:守护进程、客户端与存储驱动的协同作战(下)

🐇明明跟你说过:个人主页 🏅个人专栏:《Docker幻想曲:从零开始,征服容器宇宙》 🏅 🔖行路有良友,便是天堂🔖 目录 四、命名空间和控制组 1、Linux命名空…...

【强化学习笔记一】初识强化学习(定义、应用、分类、性能指标、小车上山案例及代码)

文章目录 第1章 初识强化学习1.1 强化学习及其关键元素1.2 强化学习的应用1.3 强化学习的分类1.3.1 按任务分类1.3.2 按算法分类 1.4 强化学习算法的性能指标1.5 案例:基于Gym库的智能体/环境接口1.5.1 安装Gym库1.5.2 使用Gym库1.5.3 小车上山1.5.3.1 有限动作空间…...

安卓面试准备汇总

java相关 面试-java基础相关-CSDN博客 android 基础相关 安卓基础面试题-CSDN博客 kotlin相关 android pms,cms,wms相关知识 android fragmework层的知识 项目相关的...

C#+datax实现定时增量同步

要使用C#和DataX实现定时增量同步,你可以使用以下步骤: 1. 安装DataX:首先,确保你已经安装了DataX。你可以从DataX的官方仓库中获取最新版本。 2. 配置DataX 任务:创建一个DataX任务,定义源(sou…...

VUE实现Provide的计算属性

通过此篇可以学到: 如何使用Providerinject进行“跨代”传值如何实现一个计算属性的Provider如何解决告警“injection "xxxxx" not found. ” 一、描述 目前需要创建一个计算属性传入Provide,并且能够被其他组件Inject 二、实现 父组件 .…...

Spring Schedule:Spring boot整合Spring Schedule实战讲解定时发送邮件的功能

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…...

Midjourney绘图欣赏系列(十)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子,它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同,Midjourney 是自筹资金且闭源的,因此确切了解其幕后内容尚不…...

【C语言】人生重开模拟器

前言: 人生重开模拟器是前段时间非常火的一个小游戏,接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏: 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 (1) 游戏开始的时…...

船舶AIS监控网络-船位信息查询:实时查询船舶动态,服务于船舶安全航行管理、港口调度计划、物流、船代、货代。【AIS动态信息编写船舶轨迹】

文章目录 引言I 预备知识1.1 相关术语1.2 主要功能1.3 MongoDB和Es各自优势II 系统架构2.1 电子海图开源JavaScript包2.2 地图渲染库2.3 地图服务调用(天地图)2.4 在Elasticsearch(ES)中存储船舶轨迹数据III 数据同步方案3.1 基于 Binlog 实时同步3.2 数据迁移工具:Canal3.3…...

Axios 中的文件上传(Upload File)方法

Axios 提供了多种上传文件(Upload File)的方法,适用于不同的上传场景。以下是其中几种常用的方法: 1. 使用 FormData 对象FormData是一个用于创建表单数据的 API,可用于发送包含文件和其他表单数据的multipart/form-d…...

机试:数塔路径

问题描述: 代码示例: //数塔路径 #include <bits/stdc.h>using namespace std;int main(){ // 算法思想: // 逆推,将最下方和右下方的数字进行比较,哪个大则加上并更新,直至到根节点即为最大 int n;cin >> n; int nums[n1][n1]; // 输入数塔 for(int i 1;i < n…...

ROS2中launch编写及参数含义(xml、python)

ROS2系列文章目录 ROS2中nav_msgs/msg/Path 数据含义及使用 ROS2中std_msgs/msg/Header 数据含义及使用 ROS中TF变换详解 文章目录 ROS2系列文章目录ROS2中launch编写及参数含义&#xff08;xml、python&#xff09;一、ROS官方介绍二、实现案例1.编写主函数、CMakeLists.tx…...

鸿蒙Socket通信示例(TCP通信)

前言 DevEco Studio版本&#xff1a;4.0.0.600 参考链接&#xff1a;OpenHarmony Socket 效果 TCPSocket 1、bind绑定本地IP地址 private bindTcpSocket() {let localAddress resolveIP(wifi.getIpInfo().ipAddress)console.info("111111111 localAddress: " …...

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…...

FPGA - 单总线协议(one-wire)

1&#xff0c;简介 单总线&#xff08;one-wire&#xff09;是美国 DALLAS 公司推出的外围串行扩展总线技术&#xff0c;与 SPI、I2C 等串行数据通信方式不同&#xff0c;它采用单根信号线&#xff0c;既传输时钟又传输数据&#xff0c;而且数据传输是双向的。它具有节省 I/O口…...

python的函数与类的定义

目录 1.函数 1.函数的定义 2.输入参数与输出参数的类型 3.输入和输出多个参数 1.普通参数 2.含有任意数量的参数 3.关键字参数 4.普通参数与多个参数的结合 2.类 1.类的定义 2.类的实例化 3.继承 1.函数 1.函数的定义 def 函数名(输入参数): 文档字符串 函数体 …...

Unity事件系统实战:用事件驱动重构你的金币拾取逻辑(告别硬编码)

Unity事件系统实战&#xff1a;用事件驱动重构你的金币拾取逻辑&#xff08;告别硬编码&#xff09;在游戏开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;玩家拾取金币后&#xff0c;需要更新UI、播放音效、解锁成就、保存数据……如果把这些逻辑全部写在金币拾取的代…...

3分钟解锁网易云音乐NCM文件:ncmdumpGUI小白也能懂的完整教程

3分钟解锁网易云音乐NCM文件&#xff1a;ncmdumpGUI小白也能懂的完整教程 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的歌曲&a…...

什么情况下会核销贷款

贷款核销的核心前提是&#xff1a;贷款被认定为 “损失类” 且经 “穷尽追偿” 仍无法收回&#xff0c;银行按监管与会计规则从账面冲销&#xff0c;但债权不消灭、仍可追偿。一、核心认定条件&#xff08;满足其一即可&#xff09;破产 / 注销 / 吊销&#xff1a;借款人和担保…...

php有什么版本,php语言有几个版本

php有什么版本,php语言有几个版本PHP的大版本主要分四支&#xff1a;PHP4/PHP5/PHP6/PHP7 其中&#xff0c;PHP4由于太古老、对OO支持不力已基本被淘汰&#xff0c;请无视PHP4。 PHP6由于基本没有生产线上的应用&#xff0c;还基本只是一款概念产品&#xff0c;很多功能已在PHP…...

WMPFDebugger与微信开发者工具对比:哪个更适合你的调试需求?

WMPFDebugger与微信开发者工具对比&#xff1a;哪个更适合你的调试需求&#xff1f; 【免费下载链接】WMPFDebugger Yet another WeChat miniapp debugger on Windows 项目地址: https://gitcode.com/gh_mirrors/wm/WMPFDebugger 在Windows平台的微信小程序开发中&#…...

从复平面几何到Python代码:可视化理解NumPy中angle()函数的计算原理(附绘图代码)

从复平面几何到Python代码&#xff1a;可视化理解NumPy中angle()函数的计算原理&#xff08;附绘图代码&#xff09; 在数学和工程领域&#xff0c;复数不仅是抽象的概念&#xff0c;更是解决实际问题的有力工具。当我们谈论复数68j时&#xff0c;它不仅仅是一个符号组合——在…...

ThingLinks-IoT:一站式物联网平台解决方案

ThingLinks-IoT 物联网平台 | 多协议接入物模型告警联动视频接入AI 助手 一体化方案 一个面向项目交付与企业生产场景的国产物联网中台——把"设备接入 → 数据处理 → 告警联动 → 业务集成"这条链路上的通用能力一次性做完做稳&#xff0c;让你只关心自己的业务。 …...

从Figma设计到Python GUI:Tkinter-Designer如何重塑可视化开发范式

从Figma设计到Python GUI&#xff1a;Tkinter-Designer如何重塑可视化开发范式 【免费下载链接】Tkinter-Designer An easy and fast way to create a Python GUI &#x1f40d; 项目地址: https://gitcode.com/gh_mirrors/tk/Tkinter-Designer 在Python GUI开发领域&am…...

Oracle数据库的DBCA界面创建数据库

一、采用DBCA界面方式创建数据库搜索dbca用管理员去运行疯狂的点下一步采用默认就行到监听这里会出有一些问题出问题了先把Enterprise Manager关掉就行&#xff0c;出问题了能自己找出来就行&#xff0c;一般不建议关掉&#xff0c;我这里直接图方便了这里选择所有账号使用同一…...

安全多方计算中稀疏矩阵乘法优化:原理、实现与隐私保护应用

1. 项目概述&#xff1a;当稀疏矩阵遇上安全多方计算在机器学习、推荐系统这些我们每天都会接触到的技术背后&#xff0c;数据往往以一种“稀疏”的形式存在。想象一下一个拥有百万用户和十万本书籍的在线书店&#xff0c;每个用户可能只读过其中几十本&#xff0c;那么构建一个…...