2012-11-08 2 views
1

이미지 갤러리에 이미지 파일을 업로드하는 Liferay 포틀릿을 만들었습니다. IGImageLocalServiceUtil을 통해 프로그래밍 방식으로 Liferay 서버의 이미지를 추가 및 검색 할 수 있지만 제어판의 이미지 갤러리 포틀릿에서 이미지를 볼 수 없습니다. 나는 이것이 허가 문제와 관련이 있다고 생각한다. 내 코드에서 무엇이 잘못되었는지 알아 내도록 도와 주시겠습니까? 감사.프로그래밍 방식으로 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 포털의 버전을 지정하십시오. Liferay Portal의 최신 버전에서는 코드가 컴파일되지 않습니다. –

+0

Liferay 6.0.6. 왜 이것이 컴파일되지 않을까요? – Gian

+0

Liferay Portal 6.1에서 "이미지 갤러리"및 "문서 라이브러리"포틀릿이 "문서 및 미디어"포틀릿에 결합되어 API가 변경되어 IGImageLocalServiceUtil이 더 이상 존재하지 않기 때문에 그러나 이것은 당신의 질문에 관한 것이 아닙니다. –

답변

0

지금 받으 셨습니다. 내 질문에 언급 할 수 없었던 것은이 포틀릿이 제어판에 있다는 것입니다. 따라서 내가 사이트의 groupId 대신 themeDisplay.getLayout(). getGroupId()를 통해 groupId를 가져올 때마다 이미지는 제어판이 아닌 사이트와 연결됩니다.

themeDisplay.getLayout(). getGroupId() 대신 themeDisplay.getDoAsGroupId()를 사용해야합니다.

관련 문제