【问题标题】:How to create a folder using alfresco-api如何使用 alfresco-api 创建文件夹
【发布时间】:2023-03-12 22:37:02
【问题描述】:

我想使用 ALFRESCO API 创建一个文件夹,所以我使用了这个函数:

public Folder createFolder(String parentFolderId, String folderName) {
    Session cmisSession = getCmisSession();
    Folder rootFolder = (Folder) cmisSession.getObject(parentFolderId);

    Folder subFolder = null;
    try {
        // Making an assumption here that you probably wouldn't normally do
        subFolder = (Folder) cmisSession.getObjectByPath(rootFolder.getPath() + "/" + folderName);
        System.out.println("Folder already existed!");
    } catch (CmisObjectNotFoundException onfe) {
        Map<String, Object> props = new HashMap<String, Object>();
        props.put("cmis:objectTypeId",  "cmis:folder");
        props.put("cmis:name", folderName);
        subFolder = rootFolder.createFolder(props);
        String subFolderId = subFolder.getId();
        System.out.println("Created new folder: " + subFolderId);
    }

    return subFolder;
}

此文件夹是在documentLibrary 中创建的。 我不知道如何在这个新文件夹中创建另一个文件夹。

PS:这个函数是alfresco-api-examples中定义的函数

【问题讨论】:

  • 您是否尝试过遵循任何 Apache Chemistry OpenCMIS 示例?如果没有,当你这样做时会发生什么?

标签: alfresco


【解决方案1】:

您引用的函数是一个示例帮助函数,它将返回一个给定父文件夹 ID 和文件夹名称的 CMIS 文件夹对象。如果该文件夹不存在,它将创建一个新文件夹并返回。

例如,如果您有一个像 documentLibrary/folder1 这样的文件夹结构并且您调用 createFolder(documentLibraryId, "folder1") 您将获得一个代表“文件夹 1”文件夹的 CMIS Folder 对象。

如果您调用 createFolder(documentLibraryId, "folder2") 将找不到文件夹,则会创建一个名为“folder2”的新文件夹,并且代码将返回一个代表新的“文件夹 2”的 CMIS 文件夹对象"文件夹。

现在您有了一个 CMIS 文件夹对象,您可以调用它的方法。如果您想创建一个新文件夹,您可以再次调用 createFolder,但这次传入新文件夹的 ID,如下所示:

Folder subFolder = createFolder(folder.id, "subfolder");

或者您可以使用 CMIS 文件夹对象的 createFolder 方法,但您必须像这样传递一个属性对象

Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PropertyIds.NAME, "subfolder");
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");

Folder subFolder = folder.createFolder(properties);

更多 OpenCMIS 代码示例,请参阅https://chemistry.apache.org/docs/cmis-samples/samples/create-objects/index.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    相关资源
    最近更新 更多