了解远程CMIS文件夹大小的最有效方法

时间:2012-10-26 03:58:53

标签: cmis

CMIS文件夹可以包含许多子文件夹和文档,因此它们可以任意大。

我想在下载文件夹之前警告用户 例如:You are about to download 35TB. Are you sure?
它对于进度条也很有用。

了解远程CMIS文件夹的递归大小的最有效方法是什么。

我的天真方法(简化代码)getDecendants

// Get all descendants
depth = 99999999; // By the way, this is not great
descendants = cmisFolder.getDescendants(depth);

// Add up all sizes
size = 0;
foreach(descendants) {
  size += descendant.getSize();
}

是否有更有效的方法,我和服务器之间的流量更少?

1 个答案:

答案 0 :(得分:3)

使用查询会更有效率,因为它允许您过滤非文档对象(例如文件夹)和没有内容的文档。它还返回一个更容易遍历的平面列表,并支持分页,如果返回许多文档,它可以帮助客户端和服务器。