github.com/GregorioDiStefano/go-file-storage@v0.0.0-20161001105139-5707ab351525/controllers/s3upload.go (about)

     1  package controller
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  
     7  	"github.com/aws/aws-sdk-go/aws"
     8  	"github.com/aws/aws-sdk-go/aws/session"
     9  	"github.com/aws/aws-sdk-go/service/s3/s3manager"
    10  )
    11  
    12  func (upload Upload) doActualUpload(data io.ReadCloser, key string, fn string) error {
    13  	//TODO:why no recovery when crash here? ex: failed DNS lookup.
    14  
    15  	s3uploader := s3manager.NewUploader(session.New(&aws.Config{Region: aws.String(upload.awsRegion)}))
    16  
    17  	_, err := s3uploader.Upload(&s3manager.UploadInput{
    18  		Body:   data,
    19  		Bucket: aws.String(upload.awsBucket),
    20  		Key:    aws.String(fmt.Sprintf("%s/%s", key, fn)),
    21  	})
    22  
    23  	if err != nil {
    24  		return err
    25  	}
    26  
    27  	return nil
    28  }
    29  
    30  func (upload Upload) doActualDelete(deleteKey, fileKey, filename string) error {
    31  	return nil
    32  }