我想用javascript获取用户资料图片
Liferay.Service('/user/get-user-by-screen-name',{
companyId: Liferay.ThemeDisplay.getCompanyId(),
screenName: 'marcio.sena'
},
function(user) {
console.log(user)
var url = '/image/user_portrait?img_id='+user.portraitId+'&&img_id_token=???????'
}
);
焉得 img_id_token 用javascript?
不是你问题的完整答案,但可能会让你在正确的轨道上找到答案。
(免责声明:我在这里使用的是7.2版本的源码,尽管你给Liferay 6打了标签,但你可以在源码上重复与你的版本相匹配的操作。为了便于阅读,我缩短了路径,并删除了几行)
me@here:/..../liferay-dxp-7.2.10.1-sp1/src$ grep -r -5 img_id_token .
..../WebServerServlet.java-
..../WebServerServlet.java- if (_userFileUploadsSettings.isImageCheckToken() && (imageId > 0)) {
..../WebServerServlet.java- String imageIdToken = ParamUtil.getString(
..../WebServerServlet.java: httpServletRequest, "img_id_token");
..../WebServerServlet.java-
..../WebServerServlet.java- if (user == null) {
..../WebServerServlet.java- user = UserLocalServiceUtil.fetchUserByPortraitId(imageId);
--
..../UserConstants.java- if (_userFileUploadsSettings.isImageCheckToken()) {
..../UserConstants.java: sb.append("&img_id_token=");
..../UserConstants.java- sb.append(URLCodec.encodeURL(DigesterUtil.digest(userUuid)));
..../UserConstants.java- }
me@here:/..../liferay-dxp-7.2.10.1-sp1/src$ grep -r -5 imageIdToken .
..../WebServerServlet.java-
..../WebServerServlet.java- if (_userFileUploadsSettings.isImageCheckToken() && (imageId > 0)) {
..../WebServerServlet.java: String imageIdToken = ParamUtil.getString(
..../WebServerServlet.java- httpServletRequest, "img_id_token");
..../WebServerServlet.java- }
..../WebServerServlet.java-
..../WebServerServlet.java- if ((user != null) &&
..../WebServerServlet.java: !imageIdToken.equals(DigesterUtil.digest(user.getUserUuid()))) {
..../WebServerServlet.java-
..../WebServerServlet.java- return 0;
得出的启示。
它的生成方式让我怀疑它是... 可能 在JS端不现成(不找),但模仿文摘,可以自己创建。