如何以编程方式获取文档库内容的下载URL

时间:2012-08-13 09:35:26

标签: liferay

我的文档库中有几个内容(图像,文档,视频...),我想以编程方式获取每个内容的下载URL,因此我可以在自定义portlet中的jsp上显示它们。

调查,我发现这个页面有一个可能的解决方案: https://www.liferay.com/community/forums/-/message_boards/message/11073293 但是我对它不满意,因为它意味着用几个参数手动构建url。

我想知道是否有更好的方法(“Liferay方式”)来做到这一点。

2 个答案:

答案 0 :(得分:8)

我很害怕,但这就是生活方式: - )。

如果您仍需要更多确认,请查看source code方法的DLUtil#getPreviewURL

此方法已被liferay的Documents & Media portletDocument and Media display portlet使用。您还可以检查JSP源代码,了解这些portlet如何使用上述方法/portal-web/docroot/html/portlet/document_library/action/download.jspf

<强> P.S:
您可以使用此static methodDLFileEntry转换为FileEntry

答案 1 :(得分:6)

通过这些问题,我总是看到Liferay的消息来源。以下是在“文档和媒体库”portlet中构建文件下载URL的片段:

<liferay-ui:input-resource
   url='<%= themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + StringPool.SLASH + fileEntry.getUuid() %>'
/>

但你是对的,我更喜欢像DLFile.getUrl()这样的方法。