@@ -12,11 +12,9 @@ import (
12
12
"errors"
13
13
"fmt"
14
14
"html/template"
15
- "image"
16
15
17
16
// Needed for jpeg support
18
17
_ "image/jpeg"
19
- "image/png"
20
18
"io/ioutil"
21
19
"net/url"
22
20
"os"
@@ -2544,7 +2542,7 @@ func (repo *Repository) generateRandomAvatar(e Engine) error {
2544
2542
}
2545
2543
2546
2544
repo .Avatar = idToString
2547
- if err := repo .uploadAvatarToBucket ( img ); err != nil {
2545
+ if err := uploadImage ( setting . RepositoryAvatarUploadPath , repo .Avatar , img ); err != nil {
2548
2546
return err
2549
2547
}
2550
2548
@@ -2608,37 +2606,6 @@ func (repo *Repository) avatarLink(e Engine) string {
2608
2606
return link
2609
2607
}
2610
2608
2611
- // uploadAvatarToBucket uploads repo avatar to bucket
2612
- func (repo * Repository ) uploadAvatarToBucket (img image.Image ) error {
2613
- ctx := context .Background ()
2614
- bucket , err := blob .OpenBucket (ctx , setting .FileStorage .BucketURL )
2615
- if err != nil {
2616
- return fmt .Errorf ("could not open bucket: %v" , err )
2617
- }
2618
- bucket = blob .PrefixedBucket (bucket , setting .RepositoryAvatarUploadPath )
2619
- defer bucket .Close ()
2620
-
2621
- buf := new (bytes.Buffer )
2622
- if err = png .Encode (buf , img ); err != nil {
2623
- return fmt .Errorf ("failed to encode: %v" , err )
2624
- }
2625
- imgData := buf .Bytes ()
2626
-
2627
- bw , err := bucket .NewWriter (ctx , repo .Avatar , nil )
2628
- if err != nil {
2629
- return fmt .Errorf ("failed to obtain writer: %v" , err )
2630
- }
2631
-
2632
- if _ , err = bw .Write (imgData ); err != nil {
2633
- return fmt .Errorf ("failed to write: %v" , err )
2634
- }
2635
- if err = bw .Close (); err != nil {
2636
- return fmt .Errorf ("failed to close: %v" , err )
2637
- }
2638
-
2639
- return nil
2640
- }
2641
-
2642
2609
// UploadAvatar saves custom avatar for repository.
2643
2610
// FIXME: split uploads to different subdirs in case we have massive number of repos.
2644
2611
func (repo * Repository ) UploadAvatar (data []byte ) error {
@@ -2664,7 +2631,7 @@ func (repo *Repository) UploadAvatar(data []byte) error {
2664
2631
return fmt .Errorf ("UploadAvatar: Update repository avatar: %v" , err )
2665
2632
}
2666
2633
2667
- if err := repo .uploadAvatarToBucket ( m ); err != nil {
2634
+ if err := uploadImage ( setting . RepositoryAvatarUploadPath , repo .Avatar , m ); err != nil {
2668
2635
return err
2669
2636
}
2670
2637
0 commit comments