需要一个基于 js 的 alfresco webscript 以递归方式获取所有文件夹和文件的列表及其大小。
问问题
3917 次
2 回答
3
CMIS 查询:
select cmis:objectId, cmis:name, cmis:contentStreamLength
from cmis:document
where cmis:contentStreamLength>0
order by cmis:contentStreamLength desc
HTTP 获取:
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/ ?cmisselector=query &succinct=true &q=select cmis:objectId, cmis:name, cmis:contentStreamLength from cmis:document where cmis:contentStreamLength>0 order by cmis:contentStreamLength desc
JavaScript:
使用搜索根对象:
search - org.alfresco.repo.jscript.Search - 根对象,提供对各种 Alfresco 搜索界面的访问,例如 FTS-Alfresco、Lucene、XPath 和保存的搜索结果
var rs=search.query({ query:"select * from cmis:document where cmis:contentStreamLength>0 order by cmis:contentStreamLength desc", language:"cmis-alfresco" }); for (var r in rs){ logger.log(rs[r].parent.nodeRef.id+"/"+rs[r].nodeRef.id+"\t"+rs[r].parent.name+"/"+rs[r].name+"\t"+rs[r].size); }
于 2016-11-25T00:38:36.737 回答
1
对的,这是可能的。您可以使用存储库 javascript 获取所有文件夹、子文件夹和所有文件请尝试此代码提供正确的路径值
var path="Data Dictionary/***";
var documentLibrary = companyhome.childByNamePath("path");
var children = documentLibrary.children;
traverse(children);
function traverse(nodes){
for each(var node in nodes) {
if (node.isContainer){
logger.log(node.name + " is a folder, traversing down");
traverse(node.children);
}else {
logger.log(node.name );
logger.log(node.size);
}
}
}
于 2017-01-23T10:57:41.967 回答