mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-31 11:52:10 +00:00
Avatars and Repo avatars support storing in minio (#12516)
* Avatar support minio * Support repo avatar minio storage * Add missing migration * Fix bug * Fix test * Add test for minio store type on avatars and repo avatars; Add documents * Fix bug * Fix bug * Add back missed avatar link method * refactor codes * Simplify the codes * Code improvements * Fix lint * Fix test mysql * Fix test mysql * Fix test mysql * Fix settings * Fix test * fix test * Fix bug
This commit is contained in:
parent
93f7525061
commit
80a6b0f5bc
21 changed files with 705 additions and 477 deletions
|
@ -9,6 +9,7 @@ import (
|
|||
"fmt"
|
||||
"image"
|
||||
"image/color/palette"
|
||||
|
||||
// Enable PNG support:
|
||||
_ "image/png"
|
||||
"math/rand"
|
||||
|
@ -57,11 +58,11 @@ func Prepare(data []byte) (*image.Image, error) {
|
|||
if err != nil {
|
||||
return nil, fmt.Errorf("DecodeConfig: %v", err)
|
||||
}
|
||||
if imgCfg.Width > setting.AvatarMaxWidth {
|
||||
return nil, fmt.Errorf("Image width is too large: %d > %d", imgCfg.Width, setting.AvatarMaxWidth)
|
||||
if imgCfg.Width > setting.Avatar.MaxWidth {
|
||||
return nil, fmt.Errorf("Image width is too large: %d > %d", imgCfg.Width, setting.Avatar.MaxWidth)
|
||||
}
|
||||
if imgCfg.Height > setting.AvatarMaxHeight {
|
||||
return nil, fmt.Errorf("Image height is too large: %d > %d", imgCfg.Height, setting.AvatarMaxHeight)
|
||||
if imgCfg.Height > setting.Avatar.MaxHeight {
|
||||
return nil, fmt.Errorf("Image height is too large: %d > %d", imgCfg.Height, setting.Avatar.MaxHeight)
|
||||
}
|
||||
|
||||
img, _, err := image.Decode(bytes.NewReader(data))
|
||||
|
|
|
@ -22,8 +22,8 @@ func Test_RandomImage(t *testing.T) {
|
|||
}
|
||||
|
||||
func Test_PrepareWithPNG(t *testing.T) {
|
||||
setting.AvatarMaxWidth = 4096
|
||||
setting.AvatarMaxHeight = 4096
|
||||
setting.Avatar.MaxWidth = 4096
|
||||
setting.Avatar.MaxHeight = 4096
|
||||
|
||||
data, err := ioutil.ReadFile("testdata/avatar.png")
|
||||
assert.NoError(t, err)
|
||||
|
@ -36,8 +36,8 @@ func Test_PrepareWithPNG(t *testing.T) {
|
|||
}
|
||||
|
||||
func Test_PrepareWithJPEG(t *testing.T) {
|
||||
setting.AvatarMaxWidth = 4096
|
||||
setting.AvatarMaxHeight = 4096
|
||||
setting.Avatar.MaxWidth = 4096
|
||||
setting.Avatar.MaxHeight = 4096
|
||||
|
||||
data, err := ioutil.ReadFile("testdata/avatar.jpeg")
|
||||
assert.NoError(t, err)
|
||||
|
@ -50,15 +50,15 @@ func Test_PrepareWithJPEG(t *testing.T) {
|
|||
}
|
||||
|
||||
func Test_PrepareWithInvalidImage(t *testing.T) {
|
||||
setting.AvatarMaxWidth = 5
|
||||
setting.AvatarMaxHeight = 5
|
||||
setting.Avatar.MaxWidth = 5
|
||||
setting.Avatar.MaxHeight = 5
|
||||
|
||||
_, err := Prepare([]byte{})
|
||||
assert.EqualError(t, err, "DecodeConfig: image: unknown format")
|
||||
}
|
||||
func Test_PrepareWithInvalidImageSize(t *testing.T) {
|
||||
setting.AvatarMaxWidth = 5
|
||||
setting.AvatarMaxHeight = 5
|
||||
setting.Avatar.MaxWidth = 5
|
||||
setting.Avatar.MaxHeight = 5
|
||||
|
||||
data, err := ioutil.ReadFile("testdata/avatar.png")
|
||||
assert.NoError(t, err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue