1

我正在创建一个使用 Nuxeo 作为文件存储的 Spring-Java 应用程序。

我想使用rest api在nuxeo中使用新版本在文档中创建一个新文件。例如,我现在在 myworkspace 中创建了一个名为“file1.docx”的文件。我想在同一个文档中用新版本更新文件。我想使用是否有任何其他 API 可用于此操作。

我已经尝试了来自 google 和 nuxeo docs 的许多解决方案,但它每次都会创建新文档。因为我只想更新文件版本。

我已使用以下服务更新文件,但它不更新版本。/nuxeo/site/api/v1/id/{idOfTheDoc}

另外,我使用了以下服务来创建文件,但它每次都会创建新文档。/nuxeo/site/api/v1/id/{idOfParentDoc}

谢谢你的帮助

4

3 回答 3

2

阐明如何使用最新版本的 JavaScript 客户端进行操作。这是一个小的 JSFiddle,它上传一个新的 blob 并在现有文档上增加次要版本。确保您已在服务器上正确配置 CORS,并设置正确的文档路径。

http://jsfiddle.net/arnaudke/he1murjL/7/

doc.set({'file:content': res.blob})
   .save({
     headers: {'X-Versioning-Option': 'minor'}
   });

HIH

于 2016-05-18T12:15:56.413 回答
1

实际上有两点需要考虑:

  1. 如果您最终创建了一个文档而不是更新它,这意味着您正在使用该POST方法。您应该使用该PUT方法进行更新。

  2. 正如@user3885965 所提到的,要创建一个版本,您需要发送一个X-Versioning-Option标头,但值可以是minor(创建一个次要版本,例如 1.x,其中 x 将递增)或major(创建一个主要版本,例如 x.x)。 0,其中 x 将递增)。它们之间没有功能上的区别,只是供您选择要增加的数字。

于 2016-05-18T07:16:42.143 回答
0

更新文档时,您应该使用REST API文档中所述的特定标题“X-Versioning-Option: MAJOR”

于 2016-05-17T23:18:17.473 回答