2012-11-08 48 views
1

我創建了一個將圖像文件上傳到圖像庫的Liferay portlet。我已經能夠通過IGImageLocalServiceUtil以編程方式從我的Liferay服務器添加和檢索圖像,但我似乎無法看到控制面板下的圖像庫portlet中的圖像。我懷疑這與許可問題有關。你能幫我找出我的代碼中有什麼問題嗎?謝謝。以編程方式將圖像添加到Liferay圖像庫

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()); 
+0

請指定您正在使用的Liferay Portal版本。在最新版本的Liferay Portal中,您的代碼不會編譯。 –

+0

Liferay 6.0.6。爲什麼這不會編譯? – Gian

+0

因爲在Liferay Portal 6.1中,「圖片庫」和「文檔庫」Portlet都合併爲「文檔和媒體」Portlet,所以API已更改且IGImageLocalServiceUtil不再存在。但這不是你的問題。 –

回答

0

我明白了。我不能在我的問題中提到的是,這個portlet位於控制面板中。因此,無論何時通過themeDisplay.getLayout()。getGroupId()而不是站點自己的groupId獲取groupId,圖像都與控制面板關聯,而不是網站。

我應該使用themeDisplay.getDoAsGroupId()而不是themeDisplay.getLayout()。getGroupId()然後。

相關問題