8

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

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

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

4

2 回答 2

8

我很害怕,但那是生命之道:-)。

如果您仍需要更多确认,请查看该方法的源代码DLUtil#getPreviewURL

LiferayDocuments & Media portletDocument and Media display portlet. 您还可以查看 JSP 源代码,了解这些 portlet 如何使用上述方法/portal-web/docroot/html/portlet/document_library/action/download.jspf

PS:
您可以使用此静态方法DLFileEntry转换为。FileEntry

于 2012-08-13T10:08:07.080 回答
6

通过这样的问题,我总是看到 Liferay 资源。这是在“文档和媒体库”portlet 中构建文件下载 url 的片段:

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

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

于 2012-08-13T10:07:14.310 回答