版本号在数据库每保存一次加1了,没有获取到最新保存的文档

阅读次数 220

在 upload 编辑保存接口,每保存一次,对应文件id的版本号就加 1,短时间内,打开的 excel表格内容确实是最新的,刷新页面后也是最新的,但是下班后关闭电脑,第二天打开,发现昨天修改的内容全没了,还是最原始的excel内容,这是什么情况?

4 Answers

单阶段提交每保存一次,在我们的应用里面是要结合文件id跟版本号形成一条新的记录吗?然后历史版本信息的数据是不是要从我们后端查出对应的数据?我刚看到说,修改后的文件版本并没有存到你们 WebOffice

  1. WebOffice 不会保存文件
  2. 一旦触发了保存, WebOffice会把修改后的文件, 会通过单阶段保存 推送到回调服务器;
  3. 此时回调服务需要把新的文件保存好, 并且生成一个新的版本号; 同时做好映射关系;
  4. GET /v3/3rd/files/:file_id/download接口, 需要返回最新版本的文件下载地址;

目前看描述, 应该是3或者4的逻辑有点问题, 可以确认一下

是的,我理解错了,直接把原来那条文件记录的版本自增 1,想着拿着原文件记录id和版本号嫩从WebOffice获取对应的版本文档,直到我看到获取历史版本记录接口后意思到可能理解有误,谢谢!

感谢反馈,希望对你有帮助

你好, 看描述是这几个回调接口没有返回正确的结果:

GET /v3/3rd/files/:file_id

确认下这个接口没有返回正确的版本号

GET /v3/3rd/files/:file_id/download

确认下这个接口没有返回正确下载地址

检查了这两个接口返回的数据是正常的 昨天下班前这个版本是修改了一部分内容,也保存了,电脑关机后,今天早上上班开机后再运行,同样的文件id和版本号获取的是最原始的excel文件。
如果我不关机,每次修改后的内容都能得到保存

这两个接口返回的数据是正常的 请求的文件id image.png
找到对应的数据,包含版本号
image.png
记录的返回信息
image.png
昨天下班前这个版本是修改了一部分内容,也保存了,电脑关机后,今天早上上班开机后再运行,同样的文件id和版本号获取的是最原始的excel文件。
如果我不关机,每次修改后的内容都能得到保存

您在开放平台的页面上看到的文件内容,是在金山的服务器上的内存内的文件内容。如果您之后关闭了电脑,金山的服务器上的编辑进程也会退出。

所以根据您的描述:

  • 要么是打开文档时,金山获取到的您的文档版本和下载地址有问题(不一定是没返回,要确认返回的版本是否正确,返货的下载地址对应的文件是最新的版本);

  • 要么您需要检查一下您的保存接口(您使用的是三段式保存还是一阶段的接口),是否有正确保存文件版本,是否有正确更新该版本对应的文档存储地址等。

这些通过检查您存储中的文件版本列表,可能可以发现一些问题。

我用的是 单阶段提交

可以确认下: 下载地址对应的文档内容是否正确, 从描述看, 应该是下载地址和版本对应不上

可以用把下载地址对应的文档下载下来, 用WPS 客户端确认下内容是否正确