我们已经设置liferay使用JackRabbit作为其文档存储库。现在我要做的是检索一个特定的文档,我所知道的就是它是name
,有时folder
的名称可能位于其中。
我知道DLFileEntryLocalServiceUtil
允许我检索所述文档,但要求我在移交之前拥有它的id
。我的问题是,我怎么能得到我正在寻找的文件的id
,如果我所有的是文件name
,它是location
?
下面的代码片段可以帮助你,
FileEntry fileEntry = DLAppServiceUtil.getFileEntry(repositoryId, CREATED_FOLDER_ID, fileName);
在上面,你已经通过了repositoryId可以等同于groupId,你可以从themedisplay.getGroupId(),你的文件夹id和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;
}
}
如果有帮助请告诉我