我们设置了liferay以使用JackRabbit作为其文档存储库。现在我要做的就是检索一个特定的文档,而我所知道的只是它name
,有时它可能位于folder
的名称。
我知道DLFileEntryLocalServiceUtil
允许我检索所述文档,但要求我在交付之前让它id
。我的问题是,如果我拥有的文件是id
并且name
,那么如何获取我正在查找的文件的location
?
答案 0 :(得分:3)
以下代码段可以为您提供帮助,
FileEntry fileEntry = DLAppServiceUtil.getFileEntry(repositoryId, CREATED_FOLDER_ID, fileName);
在上面,你有传递repositoryId可以等同于groupId,你可以从themedisplay.getGroupId()获取它,你的folderId和fileName
您可以通过以下代码
获取folderId long FOLDER_ID = 0;
long repositoryId = themeDisplay.getScopeGroupId();
long parentFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID;
List<Folder> lFolder = DLAppServiceUtil.getFolders(repositoryId, parentFolderId);
for (Folder folder : lFolder)
{
if (folder.getName().equalsIgnoreCase(FOLDER_NAME))
{
FOLDER_ID = folder.getFolderId();
break;
}
}
如果有帮助请告诉我