Преглед на файлове

Add Put Function without MultiPart Upload

tags/v1.0.0
Stefan Benten преди 5 години
родител
ревизия
e7e894dd7f
променени са 1 файла, в които са добавени 18 реда и са изтрити 2 реда
  1. +18
    -2
      server/storage.go

+ 18
- 2
server/storage.go Целия файл

@@ -27,6 +27,7 @@ import (
type Storage interface {
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)
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
Delete(token string, filename string) error
IsNotExist(err error) bool
@@ -150,7 +151,6 @@ func (s *S3Storage) Head(token string, filename string) (contentType string, con
if err != nil {
return
}

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

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
}

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)

var (
@@ -316,6 +316,22 @@ func (s *S3Storage) Put(token string, filename string, reader io.Reader, content
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 {
service *drive.Service
rootId string


Зареждане…
Отказ
Запис