在Amazon Web Services中,您可以使用S3对象存储和Lambda函数来调整图像大小。以下是一些基本步骤:
以下是一个使用Node.js进行图像调整的示例代码。
const AWS = require('aws-sdk');
const sharp = require('sharp');
exports.handler = function(event, context, callback) {
const s3 = new AWS.S3({ region: 'us-east-1' });
const srcBucket = event.Records[0].s3.bucket.name;
const srcKey = event.Records[0].s3.object.key;
const dstBucket = `${srcBucket}-resized`;
const dstKey = `resized/${srcKey}`;
console.log('Resizing image:', srcBucket, '/', srcKey);
s3.getObject({ Bucket: srcBucket, Key: srcKey }).promise()
.then(data => sharp(data.Body).resize(200).toBuffer())
.then(buffer => s3.putObject({
Bucket: dstBucket,
Key: dstKey,
Body: buffer,
ContentType: 'image/jpeg'
}).promise())
.then(() => {
console.log('Image resized:', dstBucket, '/', dstKey);
callback(null, 'Success');
})
.catch(err => {
console.error(err);
callback('Failed');
});
};
此代码使用sharp库调整图像大小,并将结果存储在名为${srcBucket}-resized的新Bucket中。您可以调整代码以适合您的特定需求,例如更改调整的大小、文件格式和Bucket名称。