1

我创建了一个将图像文件上传到图像库的 Liferay portlet。我已经能够通过 IGImageLocalServiceUtil 以编程方式从我的 Liferay 服务器添加和检索图像,但我似乎无法在控制面板下的图像库 portlet 中看到图像。我怀疑这与权限问题有关。你能帮我找出我的代码有什么问题吗?谢谢。

long userId = themeDisplay.getUserId();
long groupId = themeDisplay.getLayout().getGroupId();
String newFilename = "test";
long folderId = 0;
String[] permissions = { "VIEW" };

serviceContext.setCommunityPermissions( permissions );
serviceContext.setGuestPermissions( permissions );

igImage = IGImageLocalServiceUtil.addImage( userId, groupId, folderId, newFilename, "", sourceFile, "image/png" ,serviceContext);
IGImageLocalServiceUtil.addImageResources(igImage, serviceContext.getCommunityPermissions(), serviceContext.getGuestPermissions());
4

1 回答 1

0

我现在明白了。我在我的问题中没有提到的是这个 portlet 位于控制面板中。因此,每当我通过 themeDisplay.getLayout().getGroupId() 而不是站点自己的 groupId 获取 groupId 时,图像与控制面板而不是站点相关联。

然后我应该使用 themeDisplay.getDoAsGroupId() 而不是 themeDisplay.getLayout().getGroupId() 。

于 2012-11-09T11:30:07.960 回答