liferay在自己的portlet中上传更改用户头像

本文介绍了如何在Liferay平台上通过用户ID和当前URL实现用户头像的个性化编辑和显示,结合了前端Logo选择器与后台参数传递,提供了一种动态的用户交互体验。此外,通过JavaScript函数实现了头像预览和更新功能,包括对用户头像URL和ID的动态调整,以及头像编辑和删除操作的可视化呈现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%
User selUser = PortalUtil.getSelectedUser(request);
selUser =  PortalUtil.getUser(request);
String currentURL = PortalUtil.getCurrentURL(request);
long maxFileSize = PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE) / 1024;
%>
<liferay-portlet:renderURL portletName="<%=PortletKeys.MY_ACCOUNT %>" windowState="<%= LiferayWindowState.POP_UP.toString() %>" var="editPortraitURL">
  <portlet:param name="struts_action" value="/my_account/edit_user_portrait" />
  <portlet:param name="redirect" value="<%= currentURL %>" />
  <portlet:param name="p_u_i_d" value="${user.userId }" />
  <portlet:param name="portrait_id" value="${user.portraitId }" />
</liferay-portlet:renderURL> 
<liferay-ui:logo-selector
	defaultLogoURL="<%= UserConstants.getPortraitURL(themeDisplay.getPathImage(), selUser.isMale(), 0) %>"
	editLogoURL="<%= editPortraitURL %>"
	imageId="<%= selUser.getPortraitId() %>"
	logoDisplaySelector=".user-logo"
/>
<aui:script>
function _2_changeLogo(newPortraitURL, newPortraitId) {

    <portlet:namespace/>portraitId_var = newPortraitId;
    
    var A = AUI();

    A.one('#igva_null_null_avatar').attr('src', newPortraitURL);
    A.one('.avatar').attr('src', newPortraitURL);
    //A.one('#_2_deletePortrait').val(false);

}
	$('.delete-logo').hide();
</aui:script>

参考的资料地址为

http://www.liferay.com/zh/community/forums/-/message_boards/message/8313716

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值