我的文档库中有几个内容(图像、文档、视频......),我想以编程方式获取每个内容的下载 url,因此我可以在自定义 portlet 中的 jsp 上显示它们。
调查后,我发现这个页面有一个可能的解决方案: https ://www.liferay.com/community/forums/-/message_boards/message/11073293 但我对此并不满意,因为它意味着手动构建 url几个参数。
我想知道是否有更好的方法(“Liferay 方式”)来做到这一点。
我很害怕,但那是生命之道:-)。
如果您仍需要更多确认,请查看该方法的源代码DLUtil#getPreviewURL
。
LiferayDocuments & Media portlet
和Document and Media display portlet
. 您还可以查看 JSP 源代码,了解这些 portlet 如何使用上述方法/portal-web/docroot/html/portlet/document_library/action/download.jspf
。
PS:
您可以使用此静态方法DLFileEntry
转换为。FileEntry
通过这样的问题,我总是看到 Liferay 资源。这是在“文档和媒体库”portlet 中构建文件下载 url 的片段:
<liferay-ui:input-resource
url='<%= themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/documents/" + themeDisplay.getScopeGroupId() + StringPool.SLASH + fileEntry.getUuid() %>'
/>
但你是对的,我也更喜欢像 DLFile.getUrl() 这样的方法。