【发布时间】:2012-05-28 21:46:13
【问题描述】:
我想检索用户个人资料图片。我该怎么做?你能分享一个代码sn-p吗?我正在使用 Liferay 6.0.6。它只有 user.getPortraitId() 而没有 user.getPortraitURL()。因此,一旦我在 JAVA 类中获得了肖像 id,我该怎么处理它?
【问题讨论】:
标签: liferay profile image liferay-6
我想检索用户个人资料图片。我该怎么做?你能分享一个代码sn-p吗?我正在使用 Liferay 6.0.6。它只有 user.getPortraitId() 而没有 user.getPortraitURL()。因此,一旦我在 JAVA 类中获得了肖像 id,我该怎么处理它?
【问题讨论】:
标签: liferay profile image liferay-6
见UserConstants.getPortraitURL(...)的实现
https://github.com/liferay/liferay-portal/blob/master/portal-service/src/com/liferay/portal/model/UserConstants.java
通过这种方法,您可以获得图片网址。
如果需要图片对象,可以用ImageLocalServiceUtil加载:
long portraitId = user.getPortraitId();
Image image = ImageLocalServiceUtil.getImage(portraitId);
【讨论】:
在JSP中渲染肖像至少有两种选择:
<img src="<%= themeDisplay.getPathImage()%>
/image_gallery?img_id=<%= image.getImageId()%>&t=
<%= ImageServletTokenUtil.getToken(image.getImageId())%>">
<img src="<%= themeDisplay.getPathImage() %>/user_portrait?img_id=<%=id %>">
第一种方法包含基于安全令牌的附加安全方面,您可能会或可能不会发现与您的需求相关。
【讨论】:
ImageServletTokenUtil 在 Liferay 6.1 中被 WebServerServletTokenUtil 取代