我希望有人能够给我创建会话createDocument和文件夹createDocument方法之间的区别。
同样在这个上下文中有一个关于我如何使用文档appendContentStream()方法的示例,我很难在线查看示例,我有一个要求,文档大小可以达到300-350MB,我很想知道在Jeff Potts的Nuxeo网络研讨会上推荐了更多关于appendContentStream()的信息,尽管他提到的大小约为1GB。
答案 0 :(得分:3)
Session.createDocument()
创建一个文档并返回文档ID。 Folder.createDocument()
创建一个文档并返回一个完整的Document对象。为此,Folder.createDocument()
需要再往返一次服务器。如果您只想创建文档而对文档属性,文档权限或文档再现等不感兴趣,请使用Session变体。它更快。
CMIS规范不限制文档大小。某些存储库支持一次性上载几GB的文档。如果此类上载失败,例如,如果存在连接问题,则必须重复完整上载。 appendContentStream()
允许以块的形式上传文档。如果上传块失败,则只需重复上传一个块。如果这有意义取决于您的应用程序,存储库和网络。
OpenCMIS TCK中有一个appendContentStream()
代码示例(可能不是很好):
https://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/SetAndDeleteContentTest.java?view=markup