一些aws上面的服务 静态资源上传, 邮件发送等等
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
954 B

package bucket
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3/s3manager"
"io"
)
func Upload(key, secret,region, bucket, path, name string, body io.Reader) (string, error) {
//access_key := "AKIAJGSRUU3DWHVGWIHA"
//secret_key := "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"
sess, err := session.NewSession(&aws.Config{
Credentials: credentials.NewStaticCredentials(key, secret, ""),
Region: aws.String(region),
//DisableSSL: aws.Bool(true),
//S3ForcePathStyle: aws.Bool(false), //virtual-host style方式,不要修改
})
if err != nil {
return "", err
}
uploader := s3manager.NewUploader(sess)
out, err := uploader.Upload(&s3manager.UploadInput{
Bucket: aws.String(bucket),
Key: aws.String(path + name),
Body: body,
})
if err != nil {
return "", err
}
return out.Location, nil
}