0

我想用Java递归地在Alfresco中将一个文件夹复制到另一个文件夹中。

我只有每个文件夹的 NodeRef。

怎么做?

4

2 回答 2

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

于 2017-03-31T06:00:59.257 回答
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

于 2018-03-15T07:58:36.497 回答