2011-10-14 2 views
4

나는 자신의 "user profile" 모듈을 만들고 있는데, 옵션 중 하나를 선택하면 사용자는 자신의 기본 dnn 프로필 이미지를 변경할 수 있습니다. 이 문제는 "코드 숨김"에서 발생합니다. c#을 사용 중입니다.codebehind에서 dotnetnuke userprofile 이미지를 업데이트하는 방법은 무엇입니까?

이것은 내가 지금까지 무엇을 가지고 :

UserInfo myDnnUser = this.UserInfo; 
myDnnUser.Profile.InitialiseProfile(PortalId); 

myDnnUser.Profile.SetProfileProperty("Photo", "new filename"); 
myDnnUser.Profile.SetProfileProperty("PhotoURL", "new url"); 

ProfileController.UpdateUserProfile(myDnnUser); 

그러나 그것이 작동하지 않습니다, 나는 그 여전히 같은 (구) 파일 이름 사용을 DNN "파일"표를 볼 때.

아이디어가 있으십니까?

답변

8

, ProfilePropertyDefinitionFiles의 세 테이블이 있습니다.

UserProfile은 ProfilePropertyDefinitions에 대한 PropertyValues를 저장합니다.

"Photo"PropertyName의 예상 된 값은 파일 이름이 아니라 파일 테이블에 대한 FileID 참조입니다.

var objFiles = new FileController(); 
    FileInfo objFile = objFiles.GetFile("filepath", PortalID); 
    myDnnUser.Profile.Photo = objFile.FileId; 
    ProfileController.UpdateUserProfile(myDnnUser); 

PhotoURL는 사용자 프로필의 사진 속성에 대한 URL을 검색하는 읽기 전용 속성입니다 : 사진을 설정하기 전에, 당신은 FileID에를 얻을 필요가있다.

+0

잘 했어. 고마워. –

관련 문제