Alfresco webscript以获取所有文件和文件夹及其大小的列表

Alfresco webscript以获取所有文件和文件夹及其大小的列表,alfresco,alfresco-share,alfresco-webscripts,web-scripting,Alfresco,Alfresco Share,Alfresco Webscripts,Web Scripting,需要基于js的alfresco webscript以递归方式获取所有文件夹和文件的列表及其大小。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

需要基于js的alfresco webscript以递归方式获取所有文件夹和文件的列表及其大小。

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:

使用搜索:

- 根对象,提供对各种Alfresco搜索界面的访问 例如FTS Alfresco、Lucene、XPath和保存的搜索结果

是的,这是可能的。 您可以使用存储库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); 
    }
  }
}

在大型安装中,这不是非常缓慢吗?是的,我肯定会,但我们需要它一次。谢谢你的回答:但我是一个户外网络脚本的初学者,不知道如何执行。我已经探索了一些关于户外的教程,比如:-1。一个js文件2。自由标记模板3。我们在alfresco中创建并注册了一个描述符xml文件,然后点击url获取内容。这样的解决办法能解决我的问题吗?感谢此查询仅获取文档。不是文件夹
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); 
    }
  }
}