@@ -3,27 +3,27 @@ package storage
33import (
44 "io"
55
6- "github.com/aws/aws-sdk-go/aws"
7- "github.com/aws/aws-sdk-go/service/s3"
6+ s3 "github.com/minio/minio-go"
87)
98
10- func ObjectExists (svc * s3.S3 , bucket , objName string ) (bool , error ) {
11- _ , err := svc .HeadBucket (& s3.HeadBucketInput {
12- Bucket : aws .String (bucket ),
13- })
9+ const (
10+ noSuchKeyCode = "NoSuchKey"
11+
12+ octetStream = "application/octet-stream"
13+ )
14+
15+ func ObjectExists (statter ObjectStatter , bucket , objName string ) (bool , error ) {
16+ objInfo , err := statter .StatObject (bucketName , objKey )
1417 if err != nil {
1518 return false , err
1619 }
20+ if objInfo .Code == noSuchKeyCode || objInfo .Err != nil {
21+ return false , nil
22+ }
1723 return true , nil
1824}
1925
20- func UploadObject (svc * s3.S3 , bucketName , objKey string , reader io.Reader ) error {
21- params := & s3.PutObjectInput {
22- Body : aws .ReadSeekCloser (reader ),
23- Bucket : aws .String (bucketName ),
24- Key : aws .String (objKey ),
25- ACL : ACLPublicRead ,
26- }
27- _ , err := svc .PutObject (params )
26+ func UploadObject (putter ObjectPutter , bucketName , objKey string , reader io.Reader ) error {
27+ _ , err := putter .PutObject (bucketName , objKey , reader , octetStream )
2828 return err
2929}
0 commit comments