我目前正在使用Skipper S3 npm模块通过Sails JS将图像保存到S3 Bucket中。
使用skipper保存到s3存储桶的Code
如下:
req.file('imageName').upload({
saveAs: 'FileName.png',
adapter: require('skipper-s3'),
key: 'key',
secret: 'secret',
bucket: 'bucketName'
}, function whenDone(err, uploadedFiles) {
if (err)
//error handling
else
// return back the Image URl into S3.
});
目前我正在遵循此link中提供的方法。此方法效率不高,因图像大小而异。
我的要求是将图片(.png.jpg,.tif,.gif)
的大小调整为<em> 3 不同的尺寸(80 * 80,100 * 120和130 * 270)。我想同时将初始图像和 3 已调整大小的图像保存到S3 Bucket
。但是我无法通过req.file为给定的图像提取缓冲区。
我已经提及以下有关Stack溢出的问题,但我无法从他们那里得到答案。
答案 0 :(得分:3)
您可以将图像大小调整过程从应用程序分离到AWS Lambda。将图像上传到S3存储桶后,将触发AWS Lambda函数。 AWS提供了一个简单的演练来调整图像大小:Handling Amazon S3 Events Using the AWS CLI (Node.js)。