我需要将文件上传到特定目录下的S3存储桶。我使用了aws-sdk-go程序包,并能够在存储桶中使用PutObject
函数上传文件。该文件将位于bucket/root
目录中。
我需要做的是将其上传到bucket/root/subDirectory
内,但我无法弄清楚。
当前上传功能
_, s3Err := s3.New(s).PutObject(&s3.PutObjectInput{
Bucket: aws.String(envs.InitAWSEnvs().AWSS3Name),
Key: aws.String(fileDir),
ACL: aws.String("private"),
Body: bytes.NewReader(buffer),
ContentLength: aws.Int64(size),
ContentType: aws.String(http.DetectContentType(buffer)),
ContentDisposition: aws.String("attachment"),
ServerSideEncryption: aws.String("AES256"),
})
答案 0 :(得分:-1)
我想出了path.Join
函数,这对许多人来说可能不太有用的宝石。
因此,主要来说,Key
函数调用内的PutObjectInput
参数的PutObject
对象的值为aws.String(path.Join(path_to_directory, fileName)
而不是aws.String(fileName)