我在aws s3中有一个存储桶,名为BUCKET,在存储桶中有一个名为images的文件夹。我想获取图像并进行图像处理,然后使用s3.putobject将其调整大小并放入BUCKET /图像中。
下面的代码使用仅包含根存储桶名称的BUCKET。那就是桶。我需要桶/图像。当我尝试将key设置为images / originalKey时,它将无法正常工作。
如果我给BUCKET /图像,也将不起作用。
我正在AWS lamda服务中使用此代码。
S3.getObject({Bucket: BUCKET, Key: `images/${originalKey}`}).promise()
.then(data => Sharp(data.Body)
.resize(width, height)
.toFormat('png')
.toBuffer()
)
.then(buffer => S3.putObject({
Body: buffer,
Bucket: BUCKET,
ContentType: 'image/png',
Key: key,
}).promise()
)
.then(() => callback(null, {
statusCode: '301',
headers: {'location': `${URL}/${key}`},
body: '',
})
)
.catch(err => callback(err))