Hm ja das hilft mir nicht wirklich, aber danke... So sieht der Code z.Z. aus:
1
2@ProcessAction(name="processPortraitChange")
3 public void processPortraitChange(ActionRequest request, ActionResponse response) throws IOException, SystemException, PortalException{
4 User user = UserHelper.getUser(request);
5 UploadPortletRequest uploadRequest=PortalUtil.getUploadPortletRequest(request);
6 File portrait = uploadRequest.getFile(PROPERTY_PORTRAIT_FILE);
7 if(Validator.isNotNull(portrait)){
8 try{
9 UserLocalServiceUtil.updatePortrait(user.getUserId(), FileUtil.getBytes(portrait));
10 UserLocalServiceUtil.updateUser(user);
11 } catch (Exception e){
12 }
13 }else{
14 Map<String, String> parameter = new HashMap<String, String>();
15 parameter.put(PROPERTY_ACTION, "portrait");
16 parameter.put(PROPERTY_ERROR_MESSAGES, "2");
17 response.sendRedirect(SitesConfiguration.getURL(SitesConfiguration.getCurrentSite(request),request, parameter));
18 }
19 }
Und der funktioniert auch ohne Probleme, sofern man, nach erstellen des Benutzers, einmal sein Portrait im Control Panel geändert hat. Davor aber passiert schlichtweg NICHTS, es gibt also keine Fehlermeldung oder eine Konsolenausgabe oder sonst was und das Portrait wird auch nciht geändert, sondern es wird weiterhin einfach das Standardprotrait angezeigt...
Please sign in to flag this as inappropriate.