|
|
@ -433,6 +433,17 @@ func (u *User) IsPasswordSet() bool { |
|
|
|
// UploadAvatar saves custom avatar for user.
|
|
|
|
// UploadAvatar saves custom avatar for user.
|
|
|
|
// FIXME: split uploads to different subdirs in case we have massive users.
|
|
|
|
// FIXME: split uploads to different subdirs in case we have massive users.
|
|
|
|
func (u *User) UploadAvatar(data []byte) error { |
|
|
|
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)) |
|
|
|
img, _, err := image.Decode(bytes.NewReader(data)) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
return fmt.Errorf("Decode: %v", err) |
|
|
|
return fmt.Errorf("Decode: %v", err) |
|
|
|