如何将文件上传到S3存储桶/目录

时间:2019-07-22 08:34:58

标签: go amazon-s3

我需要将文件上传到特定目录下的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"),
    })

1 个答案:

答案 0 :(得分:-1)

我想出了path.Join函数,这对许多人来说可能不太有用的宝石。

因此,主要来说,Key函数调用内的PutObjectInput参数的PutObject对象的值为aws.String(path.Join(path_to_directory, fileName)而不是aws.String(fileName)