是否可以为密钥不完整的S3存储桶创建presignedURL?

时间:2019-01-29 21:57:05

标签: javascript amazon-web-services amazon-s3

我们正在将图像上传到S3存储桶,但是文件扩展名将根据用户上传的图像类型而变化。每个密钥的格式为img/{id}/file.jpg。每个ID都有两个与之关联的图像-徽标和头像。

创建该presignedURL时是否可以仅查找键img/{id}/logoimg/{id}/avatar,而无需指定文件名?

我相信本周早些时候在网上找到了类似的东西,但是我找不到该资源。

例如:

const avatar = s3.getSignedUrl('putObject', {
            Bucket: myBucket,
            Key: `img/${id}/avatar`,
            Expires: signedUrlExpireSeconds,
            ContentType: 'application/octet',
            ACL: 'public-read'
})```

1 个答案:

答案 0 :(得分:0)

您需要完整的对象密钥才能生成您的signedUrl。没关系,您只需要多一点步骤即可。列出您的存储桶中的项目,并指定前缀img/${id}/avatar。生成URL时,这会给您完整的密钥。

https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html