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 }