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();
}
是否有更有效的方法,我和服务器之间的流量更少?
答案 0 :(得分:3)
使用查询会更有效率,因为它允许您过滤非文档对象(例如文件夹)和没有内容的文档。它还返回一个更容易遍历的平面列表,并支持分页,如果返回许多文档,它可以帮助客户端和服务器。