我已成功在文档和媒体库中创建文件夹和上传文件。
我将文件名存储在DB中,并根据该文件名我想从文档库中获取该特定文件。我是Liferay的新手。
我正在获取保存在Document&中的所有文件。使用此代码段的媒体库。但有没有办法直接使用文件名获取文件。
这是我的代码段
public void getAllDLFileLink(ThemeDisplay themeDisplay,String folderName){
try {
Folder folder =DLAppServiceUtil.getFolder(themeDisplay.getScopeGroupId(), DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, folderName);
List<DLFileEntry> dlFileEntries = DLFileEntryLocalServiceUtil.getFileEntries(themeDisplay.getScopeGroupId(), folder.getFolderId());
for (DLFileEntry file : dlFileEntries) {
String url = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + "/" +
file.getFolderId() + "/" +file.getTitle() ;
System.out.println("DL Link=>"+url);
}
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
由于您的代码段已找到DLFileEntry
的网址,因此我假设您想要获取二进制内容。检查DLFileEntry.getContentStream()。
如果此假设错误,并且您希望将图像嵌入到portlet的HTML输出中,请使用<img src="URL-HERE"/>
标记内的网址
答案 1 :(得分:0)
您可以使用String fileName = "abc.jpg";
Folder folder = DLAppServiceUtil.getFolder(themeDisplay.getScopeGroupId(),
DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, folderName);
DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil.getFileEntry(
themeDisplay.getScopeGroupId(), folder.getFolderId(), fileName);
使用文件名/标题获取文件,如下所示:
Get-CsUser -Filter {LineURI -like $yourNumber}
但是,标题以扩展名存储,因此,您需要传递图像/文件的完整名称。