【发布时间】:2017-12-02 20:25:42
【问题描述】:
我的 Lambda 在请求正文 (event.body) 中从我的用户接收图像的二进制数据。
我尝试将其上传到 S3 没有错误,但是当我下载时,图像已损坏/无法打开。
我还需要将上传图片的网址返回给用户。
请帮忙!
module.exports.uploadImage = (event, context, callback) => {
var buf = new Buffer(new Buffer(event.body).toString('base64').replace(/^data:image\/\w+;base64,/, ""),'base64');
var data = {
Key: Date.now()+"",
Body: buf,
ContentEncoding: 'base64',
ContentType: 'image/png',
ACL: 'public-read'
};
s3Bucket.putObject(data, function(err, data){
if (err) {
console.log(err);
console.log('Error uploading data: ', data);
} else {
console.log('succesfully uploaded the image!');
}
callback(null,data);
});
};
【问题讨论】:
标签: node.js file-upload amazon-s3 aws-lambda aws-sdk