复制Alfresco中的文件夹

时间:2017-03-31 04:34:55

标签: java alfresco nodereference

我希望用Alf。递归地将文件夹复制到另一个文件夹中。

我只有每个文件夹的NodeRef。

怎么办?

2 个答案:

答案 0 :(得分:2)

使用CopyService.copyAndRename

copyService.copyAndRename(
    sourceNodeRef,
    destinationNodeRef,
    ContentModel.ASSOC_CONTAINS,
    QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "New name"),
    true // Recursive
);

灵感来自Alfresco自己的ScriptNode.java

答案 1 :(得分:0)

以防万一有人在露天找文件从目的地文件夹中复制:

String docName = nodeService.getProperty(fileNode, ContentModel.PROP_NAME).toString();
QName documentName = QName.createQName(CustomModel.CUSTOM_NAMESPACE_URI,docName);
NodeRef copiedFile = copyService.copy(fileNode, destnode, ContentModel.ASSOC_CONTAINS, documentName);

nodeService.setProperty(copiedFile, ContentModel.PROP_NAME, docName); 

最后一行将复制的文件名设置为实际文档名称;否则你会发现复制的文件名为文件的noderef