我们正在将图像上传到S3存储桶,但是文件扩展名将根据用户上传的图像类型而变化。每个密钥的格式为img/{id}/file.jpg
。每个ID都有两个与之关联的图像-徽标和头像。
创建该presignedURL时是否可以仅查找键img/{id}/logo
或img/{id}/avatar
,而无需指定文件名?
我相信本周早些时候在网上找到了类似的东西,但是我找不到该资源。
例如:
const avatar = s3.getSignedUrl('putObject', {
Bucket: myBucket,
Key: `img/${id}/avatar`,
Expires: signedUrlExpireSeconds,
ContentType: 'application/octet',
ACL: 'public-read'
})```
答案 0 :(得分:0)
您需要完整的对象密钥才能生成您的signedUrl。没关系,您只需要多一点步骤即可。列出您的存储桶中的项目,并指定前缀img/${id}/avatar
。生成URL时,这会给您完整的密钥。
https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html