获取s3的包
go get github.com/aws/aws-sdk-go
代码
package api import ( "bytes" "fmt" "insspider/config" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/endpoints" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" _ "github.com/aws/aws-sdk-go/service/s3/s3manager" tsgutils "github.com/typa01/go-utils" ) func UpImg(buffer []byte) (url string) { sess, err := session.NewSession(&aws.Config{ Region: aws.String(endpoints.UsEast2RegionID),//桶所在的区域 Credentials: credentials.NewStaticCredentials(config.AccessKeyId, config.SecretAccessKey, config.SessionToken),//sts的临时凭证 }) if err != nil { fmt.Println(err.Error()) } key := "user/1111111/" + time.Now().Format("2006-01-02") + "/" + tsgutils.GUID() + ".jpg" _, err = s3.New(sess).PutObject(&s3.PutObjectInput{ Bucket: aws.String("xxxx"),//桶名 Key: aws.String(key),//文件的目录+文件名 Body: bytes.NewReader(buffer), }) // fmt.Println(key) return key }