|
|
|
@ -433,6 +433,17 @@ func (u *User) IsPasswordSet() bool {
|
|
|
|
|
// UploadAvatar saves custom avatar for user.
|
|
|
|
|
// FIXME: split uploads to different subdirs in case we have massive users.
|
|
|
|
|
func (u *User) UploadAvatar(data []byte) error {
|
|
|
|
|
imgCfg, _, err := image.DecodeConfig(bytes.NewReader(data))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return fmt.Errorf("DecodeConfig: %v", err)
|
|
|
|
|
}
|
|
|
|
|
if imgCfg.Width > setting.AvatarMaxWidth {
|
|
|
|
|
return fmt.Errorf("Image width is to large: %d > %d", imgCfg.Width, setting.AvatarMaxWidth)
|
|
|
|
|
}
|
|
|
|
|
if imgCfg.Height > setting.AvatarMaxHeight {
|
|
|
|
|
return fmt.Errorf("Image height is to large: %d > %d", imgCfg.Height, setting.AvatarMaxHeight)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
img, _, err := image.Decode(bytes.NewReader(data))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return fmt.Errorf("Decode: %v", err)
|
|
|
|
|