如何在Alfresco获取任何文件的唯一ID?

时间:2016-11-04 16:19:23

标签: java alfresco

enter image description here

我目前正在开发一个java / JEE应用程序。附件将存放在露天。

我想在每个文件夹子文件夹中创建一个文件夹。 我设法创建了父文件夹:

CreateFolder (u String, String p, String floderName, String uuid,
   FolderDescription String, String foldertitle, String alfrescoTicket)

PS:我手动检索UUID(露天的唯一ID)。 (这对父文件夹来说不是问题。)

但是当我想在父文件夹下创建sub_folder时(我没有父文件夹的uuid)。

我想找到一个解决方案来恢复文件创建时的uuid。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您应该将nodeIdworkspace://SpacesStore中的唯一ID)视为JSON响应:

{
  "nodeRef": "workspace://SpacesStore/{nodeId}"
}

考虑使用以下API:

Alfresco 5.2(早期访问)Rest API

创建节点并将其添加为节点parentNodeId的主要子节点:

POST /alfresco/api/-default-/public/alfresco/versions/1/nodes/{parentNodeId}/children

{
  "name":"My new sub-folder",
  "nodeType":"cm:folder"
}

响应:

{
  "entry": {
    /* ... */
    "name": "My new sub-folder",
    "id": {nodeId},
    "nodeType": "cm:folder"
  }
}

Apache Chemistry OpenCMIS - 用于Java的CMIS库

  • create a session and connect to a repository

    Session session = factory.createSession(sessionParams); 
    
  • get a parent folder

    CmisObject po = session.getObject(session.createObjectId(parentNodeId));
    Folder pf = (Folder) po;
    
  • create a new folder

    Map<String, Object> properties = new HashMap<String, Object>();
    properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
    properties.put(PropertyIds.NAME, "My new sub-folder");
    Folder newFolder = pf.createFolder(properties);