Browse Source

Add Put Function without MultiPart Upload

tags/v1.0.0
Stefan Benten 5 years ago
parent
commit
e7e894dd7f
1 changed files with 18 additions and 2 deletions
  1. +18
    -2
      server/storage.go

+ 18
- 2
server/storage.go View File

@@ -27,6 +27,7 @@ import (
type Storage interface { type Storage interface {
Get(token string, filename string) (reader io.ReadCloser, contentType string, contentLength uint64, err error) Get(token string, filename string) (reader io.ReadCloser, contentType string, contentLength uint64, err error)
Head(token string, filename string) (contentType string, contentLength uint64, err error) Head(token string, filename string) (contentType string, contentLength uint64, err error)
PutMulti(token string, filename string, reader io.Reader, contentType string, contentLength uint64) error
Put(token string, filename string, reader io.Reader, contentType string, contentLength uint64) error Put(token string, filename string, reader io.Reader, contentType string, contentLength uint64) error
Delete(token string, filename string) error Delete(token string, filename string) error
IsNotExist(err error) bool IsNotExist(err error) bool
@@ -150,7 +151,6 @@ func (s *S3Storage) Head(token string, filename string) (contentType string, con
if err != nil { if err != nil {
return return
} }

contentType = response.Header.Get("Content-Type") contentType = response.Header.Get("Content-Type")


contentLength, err = strconv.ParseUint(response.Header.Get("Content-Length"), 10, 0) contentLength, err = strconv.ParseUint(response.Header.Get("Content-Length"), 10, 0)
@@ -202,7 +202,7 @@ func (s *S3Storage) Delete(token string, filename string) (err error) {
return return
} }


func (s *S3Storage) Put(token string, filename string, reader io.Reader, contentType string, contentLength uint64) (err error) {
func (s *S3Storage) PutMulti(token string, filename string, reader io.Reader, contentType string, contentLength uint64) (err error) {
key := fmt.Sprintf("%s/%s", token, filename) key := fmt.Sprintf("%s/%s", token, filename)


var ( var (
@@ -316,6 +316,22 @@ func (s *S3Storage) Put(token string, filename string, reader io.Reader, content
return return
} }


func (s *S3Storage) Put(token string, filename string, reader io.Reader, contentType string, contentLength uint64) (err error) {
key := fmt.Sprintf("%s/%s", token, filename)

s.logger.Printf("Uploading file %s to S3 Bucket", filename)

err = s.bucket.PutReader(key, reader, contentType, s3.Private, s3.Options{})

if err != nil {
return
}

s.logger.Printf("Completed uploading %s", filename)

return
}

type GDrive struct { type GDrive struct {
service *drive.Service service *drive.Service
rootId string rootId string


Loading…
Cancel
Save