Skip to content

Commit a1e8325

Browse files
committed
Fix S3 save thumbnail upload
1 parent 7de0dd5 commit a1e8325

4 files changed

Lines changed: 26 additions & 18 deletions

File tree

db/s3.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ func GetContentFile(id int) (*s3.GetObjectOutput, error) {
2525

2626
func PutThumbnail(id int, data io.Reader) error {
2727
_, err := s3client.PutObject(context.TODO(), &s3.PutObjectInput{
28-
Bucket: aws.String("flatgrass-toybox-image"),
29-
Key: aws.String(fmt.Sprintf("%d_thumb_128.png", id)),
30-
ACL: types.ObjectCannedACLAuthenticatedRead,
31-
Body: data,
28+
Bucket: aws.String("flatgrass-toybox-image"),
29+
Key: aws.String(fmt.Sprintf("%d_thumb_128.png", id)),
30+
ACL: types.ObjectCannedACLPublicRead,
31+
Body: data,
32+
ChecksumSHA256: aws.String("UNSIGNED-PAYLOAD"), // required otherwise OVH S3 rejects
3233
})
3334
if err != nil {
3435
return err

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ module github.com/flatgrassdotnet/cloudbox
33
go 1.24.0
44

55
require (
6+
github.com/aws/aws-sdk-go-v2 v1.36.3
67
github.com/aws/aws-sdk-go-v2/config v1.29.9
78
github.com/aws/aws-sdk-go-v2/service/s3 v1.78.2
89
github.com/blezek/tga v0.0.0-20150626111426-80720cbc1017
9-
github.com/go-sql-driver/mysql v1.8.1
10+
github.com/go-sql-driver/mysql v1.9.0
1011
)
1112

1213
require (
1314
filippo.io/edwards25519 v1.1.0 // indirect
14-
github.com/aws/aws-sdk-go-v2 v1.36.3 // indirect
1515
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect
1616
github.com/aws/aws-sdk-go-v2/credentials v1.17.62 // indirect
1717
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 // indirect
@@ -26,6 +26,6 @@ require (
2626
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1 // indirect
2727
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1 // indirect
2828
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 // indirect
29-
github.com/aws/smithy-go v1.22.2 // indirect
29+
github.com/aws/smithy-go v1.22.3 // indirect
3030
github.com/ftrvxmtrx/tga v0.0.0-20150524081124-bd8e8d5be13a // indirect
3131
)

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,13 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 h1:PZV5W8yk4OtH1JAuhV2PXwwO9v5
3636
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4=
3737
github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ=
3838
github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
39+
github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k=
40+
github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
3941
github.com/blezek/tga v0.0.0-20150626111426-80720cbc1017 h1:TWk6m6k3qegbUZsdsHk/ix22ANqPgLau40bPwiNQN40=
4042
github.com/blezek/tga v0.0.0-20150626111426-80720cbc1017/go.mod h1:WnX8JiQN+UtyUPq/1EIUaB2WVX3wdAmOBH5K52NyOO0=
4143
github.com/ftrvxmtrx/tga v0.0.0-20150524081124-bd8e8d5be13a h1:eSqaRmdlZ9JsJ7JuWfDr3ym3monToXRczohBOL+heVQ=
4244
github.com/ftrvxmtrx/tga v0.0.0-20150524081124-bd8e8d5be13a/go.mod h1:US5WvgEHtG+BvWNNs6gk937h0QL2g2x+r7RH8m3g80Y=
4345
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
4446
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
47+
github.com/go-sql-driver/mysql v1.9.0 h1:Y0zIbQXhQKmQgTp44Y1dp3wTXcn804QoTptLZT1vtvo=
48+
github.com/go-sql-driver/mysql v1.9.0/go.mod h1:pDetrLJeA3oMujJuvXc8RJoasr589B6A9fwzD3QMrqw=

ingame/publishsave/publish.go

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ func Publish(w http.ResponseWriter, r *http.Request) {
5555
return
5656
}
5757

58-
name := r.URL.Query().Get("name")
58+
name := r.PostForm.Get("name")
5959
if name == "" {
6060
name = "No Name"
6161
}
6262

63-
desc := r.URL.Query().Get("desc")
63+
desc := r.PostForm.Get("desc")
6464

6565
ticket, err := base64.StdEncoding.DecodeString(r.Header.Get("TICKET"))
6666
if err != nil {
@@ -101,12 +101,7 @@ func Publish(w http.ResponseWriter, r *http.Request) {
101101
}
102102
}
103103

104-
err = db.DeleteUpload(id)
105-
if err != nil {
106-
utils.WriteError(w, r, fmt.Sprintf("failed to delete upload: %s", err))
107-
return
108-
}
109-
104+
// thumbnail
110105
thumb, err := db.FetchUpload(sid)
111106
if err != nil {
112107
utils.WriteError(w, r, fmt.Sprintf("failed to fetch upload: %s", err))
@@ -126,18 +121,26 @@ func Publish(w http.ResponseWriter, r *http.Request) {
126121
return
127122
}
128123

129-
err = db.DeleteUpload(sid)
124+
err = db.PutThumbnail(pkgID, buf)
125+
if err != nil {
126+
utils.WriteError(w, r, fmt.Sprintf("failed to upload thumbnail: %s", err))
127+
return
128+
}
129+
130+
// clean up
131+
err = db.DeleteUpload(id)
130132
if err != nil {
131133
utils.WriteError(w, r, fmt.Sprintf("failed to delete upload: %s", err))
132134
return
133135
}
134136

135-
err = db.PutThumbnail(id, buf)
137+
err = db.DeleteUpload(sid)
136138
if err != nil {
137-
utils.WriteError(w, r, fmt.Sprintf("failed to upload thumbnail: %s", err))
139+
utils.WriteError(w, r, fmt.Sprintf("failed to delete upload: %s", err))
138140
return
139141
}
140142

143+
// execute template
141144
err = tp.Execute(w, nil)
142145
if err != nil {
143146
utils.WriteError(w, r, fmt.Sprintf("failed to execute template: %s", err))

0 commit comments

Comments
 (0)