zdppy+onlyoffice实现重命名文件的功能

参考文档:https://api.onlyoffice.com/zh/editors/rename

步骤图:
在这里插入图片描述

实现步骤:
用户在 文档编辑器中为文档指定一个新名称。
文档编辑器 将文档的新名称通知给 文档管理器。
文档管理器 将文档的新名称发送到 文档存储服务,在这里软件集成商重命名文档。
文档存储服务 将文档的新名称通知给 文档编辑服务。
文档编辑服务 将文档的新名称发送给每个用户的 文档编辑器。
现在新名称对所有用户可见。

注意:默认是没有重命名的菜单的
在这里插入图片描述

如果想要启动重命名,必须添加如下配置:

permissions: {rename: true,}

参考文档:https://api.onlyoffice.com/zh/editors/config/events
在这里插入图片描述

添加如上配置以后,我们就有了重命名菜单:
在这里插入图片描述

点击重命名菜单,会弹出一个对话框,允许我们对文件名做修改:
在这里插入图片描述

点击确定,则会触发onRequestRename事件。
在这里插入图片描述

接下来参考文档:https://api.onlyoffice.com/zh/editors/command
在这里插入图片描述

我们将重命名事件改写如下,然后进行测试:

const key = "Khirz6zTPdfd7"
const onRequestRename = (event) => {let title = event.data;console.log(event)console.log(title)axios({method: "post",url: `http://192.168.234.138:18889/coauthoring/CommandService.ashx`,data: {"c": "meta","key": key,"meta": {"title": title}}}).then(resp => {console.log("onRequestRename", resp)})
};

发生了跨域的错误:
在这里插入图片描述

解决跨域的问题,只需要修改vite.config.js,配置代理即可:

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'// https://vitejs.dev/config/
export default defineConfig({plugins: [vue()],server: {proxy: {'/docserver': {target: 'http://192.168.234.138:18889', //目标urlchangeOrigin: true, //支持跨域rewrite: (path) => path.replace(/^\/docserver/, ""),//重写路径,替换/api},'/api': {target: 'http://192.168.234.138:18888', //目标urlchangeOrigin: true, //支持跨域rewrite: (path) => path.replace(/^\/api/, ""),//重写路径,替换/api}}}
})

改写请求方法如下:


const key = "Khirz6zTPdfd7"
const onRequestRename = (event) => {let title = event.data;console.log(event)console.log(title)axios({method: "post",url: `/docserver/coauthoring/CommandService.ashx`,data: {"c": "meta","key": key,"meta": {"title": title},}}).then(resp => {console.log("onRequestRename", resp)})
};

此时报错:
在这里插入图片描述

跨域的问题解决了,但是出现了新的错误。
参考官方文档:https://api.onlyoffice.com/zh/editors/command
错误码:
在这里插入图片描述

改写请求方法如下:

const key = "Khirz6zTPdfd7"
const onRequestRename = (event) => {let title = event.data;console.log(event)console.log(title)axios({method: "post",url: `/docserver/coauthoring/CommandService.ashx`,data: {"c": "meta","key": key,"meta": {"title": title},token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkb2N1bWVudCI6eyJmaWxlVHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3IiwidGl0bGUiOiJFeGFtcGxlIERvY3VtZW50IFRpdGxlLmRvY3giLCJ1cmwiOiJodHRwOi8vMTkyLjE2OC4yMzQuMTM4OjE4ODg4L2Rpc3QvdGVzdC5kb2N4In0sImVkaXRvckNvbmZpZyI6eyJjYWxsYmFja1VybCI6Imh0dHA6Ly8xOTIuMTY4LjIzNC4xMzg6MTg4ODgvY2FsbGJhY2siLCJsYW5nIjoiemgtQ04iLCJ1c2VyIjp7ImlkIjoiMSIsIm5hbWUiOiJ6ZHAifSwiY3VzdG9taXphdGlvbiI6eyJmb3JjZXNhdmUiOnRydWV9LCJjb0VkaXRpbmciOnsibW9kZSI6ImZhc3QiLCJjaGFuZ2UiOnRydWV9fSwiZG9jdW1lbnRUeXBlIjoid29yZCIsImhlaWdodCI6IjUwMHB4Iiwid2lkdGgiOiIxMDAlIn0.vnSYKU22-IsBmuoSn5Po-Ukz1RrnM-G3ch3-JuJd1xg",}}).then(resp => {console.log("onRequestRename", resp)})
};

没有令牌的问题解决了,但是出现了没有文件秘钥的问题:
在这里插入图片描述

通过查询官方文档,key就是所谓的文档秘钥:
在这里插入图片描述

现在的问题是,怎么才能拿到docserver服务中文件真实的秘钥!!!

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

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

相关文章

使用jsencrypt在web前端对字符串进行Ras加密

话不多说&#xff0c;上代码 实例代码 下面方法&#xff0c;在网页中先引入jsencrypt.min.js。然后调用ToEncrypt方法示例输出加密&#xff0c;解密后的结果。 <script src"/js/jsencrypt.min.js"></script> //加密测试function ToEncrypt(){// 假设…

synchronized关键字详解

文章目录 synchronized使用示例实现原理锁的升级synchronized与可见性synchronized与原子性synchronized与有序性 synchronized synchronized是Java提供的关键字译为同步&#xff0c;是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码&a…

【Python系列】数字的bool值

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

泌尿系统疾病病人的护理

一、泌尿系统疾病病人的一般护理要点 对于泌尿系统疾病的病人&#xff0c;护理是至关重要的。首先&#xff0c;要密切观察病人的生命体征&#xff0c;包括体温、脉搏、呼吸和血压。 饮食方面&#xff0c;应根据病人的具体病情进行调整。例如&#xff0c;对于有水肿的病人&#…

js登陆验证

当开始制作网页时&#xff0c;就需要做一个判断&#xff0c;不管在第几页进入&#xff0c;都要加一个登陆验证&#xff0c;只有用户有账号&#xff0c;才能进入网页&#xff0c;浏览网页信息。下面就来看一下&#xff0c;使用JavaScript几行代码实现登陆验证。 首先 登录页是i…

vue父组件样式穿透修改子组件样式

在 Vue 中&#xff0c;使用父组件样式穿透到子组件通常不推荐&#xff0c;因为它破坏了样式的作用域隔离&#xff0c;但如果你确实需要这样做&#xff0c;可以使用深度选择器。Vue 2 使用 ::v-deep&#xff0c;而 Vue 3 使用 /deep/ 或 ::v-deep 都可以。 以下是使用深度选择器…

MVC之 IHttpModule管道模型《二》

》》》注意&#xff1a;在http请求的处理过程中&#xff0c;只能调用一个HttpHandler&#xff0c;但可以调用多个HttpModule。 HTTP Modules ASP.NET请求处理过程是基于管道模型的&#xff0c;这个管道模型是由多个HttpModule和HttpHandler组成&#xff0c;当请求到达HttpMod…

java-mysql-insert 操作

在 Java 中&#xff0c;使用 JDBC 插入数据到 MySQL 数据库是非常常见的操作。以下是一个详细的步骤&#xff0c;展示如何使用 JDBC 插入数据到 MySQL 数据库。 ### 一、准备工作 #### 1. 下载并安装 MySQL 如果您还没有安装 MySQL&#xff0c;可以从 MySQL 官方网站下载并安…

UART编程

Q:为什么使用串口前要先在电脑上安装CH340驱动&#xff1f; 中断的作用&#xff1f; 环形buffer的作用&#xff1f; static和valitate的作用 三种编程方式简介 也可以通过DMA方式减小CPU资源的消耗 直接把数据在SRAM内存和UART模块进行传输 &#xff0c;流程&#xff1a; …

玩家自行定制内存将古老的386 PC内存升级到64MB容量

比尔盖茨曾说&#xff1a;“无论对谁来说&#xff0c;640K内存都足够了。” 如果你是一个还停留在 30 针 SIMM 时代的老式电脑爱好者&#xff0c;那么你的内存升级选择是相当有限的。不过&#xff0c;YouTube 上的一个频道已经展示了如何将古老的 386 系统内存升级到令人"…

【AI应用探讨】—对抗学习(AL)应用场景

目录 一、图像领域 二、自然语言处理&#xff08;NLP&#xff09; 三、安全领域 四、其他领域 五、医疗健康领域 六、游戏与娱乐领域 七、机器人与自动化领域 八、科研与教育领域 九、物联网与边缘计算 十、金融科技 十一、能源与环境 十二、社会科学与人文研究 十…

Linux内核编译安装 - Deepin,Debian系

为什么要自己编译内核 优点 定制化&#xff1a;你可以根据自己的硬件和需求配置内核&#xff0c;去掉不必要的模块&#xff0c;优化性能。性能优化&#xff1a;移除不需要的驱动程序和特性&#xff0c;减小内核体积&#xff0c;提高系统性能。最新特性和修复&#xff1a;获取…

什么是开放最短路径优先(OSPF)

OSPF是一种典型的链路状态路由协议&#xff0c;一般在同一个路由域中使用。这里的路由域指的是一个自治系统&#xff08;AS&#xff09;&#xff0c;是指一组通过统一的路由策略或协议相互交换路由信息的网络。在这个自治系统&#xff08;AS&#xff09;中&#xff0c;所有的OS…

【Leetcode】最小数字游戏

你有一个下标从 0 开始、长度为 偶数 的整数数组 nums &#xff0c;同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏&#xff0c;游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下&#xff1a; 每一轮&#xff0c;Alice 先从 nums 中移除一个 最小 元素&…

等保测评是做什么的

等保测评的定义和目的 等保测评&#xff0c;全称为信息安全等级保护测评&#xff0c;是依据国家信息安全等级保护规范规定&#xff0c;由具有资质的测评机构对信息系统安全等级保护状况进行检测评估的活动。等保测评的目的是验证网络系统或应用是否满足相应的安全保护等级要求…

【Linux】System V消息队列 System V信号量

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

前端 JS 经典:小数运算不精确

原因&#xff1a;计算机对小数的存储是二进制的&#xff0c;有限位数的二进制做算法得到的是有限位数&#xff0c;无限位数的二进制做运算&#xff0c;得到的是无限位数。 如下&#xff1a;0.5 和 0.25 转二进制是有限位数&#xff0c;0.3 和 0.2 转二进制是无限位数。 (0.5)…

Spark调度底层执行原理详解(第35天)

系列文章目录 一、Spark应用程序启动与资源申请 二、DAG&#xff08;有向无环图&#xff09;的构建与划分 三、Task的生成与调度 四、Task的执行与结果返回 五、监控与容错 六、优化策略 文章目录 系列文章目录前言一、Spark应用程序启动与资源申请1. SparkContext的创建2. 资…

力扣1111.有效括号的嵌套深度

力扣1111.有效括号的嵌套深度 栈模拟 对于每个括号求出深度 奇数深度存入A&#xff0c;偶数深度存入B这样最大程度降低最大深度 class Solution {public:vector<int> maxDepthAfterSplit(string s) {//因为栈中只会存(的数量 所有用一个变量即可int d 0;vector<i…

Python | Leetcode Python题解之第233题数字1的个数

题目&#xff1a; 题解&#xff1a; class Solution:def countDigitOne(self, n: int) -> int:# mulk 表示 10^k# 在下面的代码中&#xff0c;可以发现 k 并没有被直接使用到&#xff08;都是使用 10^k&#xff09;# 但为了让代码看起来更加直观&#xff0c;这里保留了 kk,…