Mein Lambda empfängt Bild Binärdaten eines Bildes von meinem Benutzer in seinem Körper (event.body
).Hochladen von Bild von AWS Lambda auf S3 über API-Gateway im Binärformat
Ich versuche, es auf S3 hochzuladen, aber während es keinen Fehler wirft, es nicht uploadp roperly und zeigt ungültiges Format, wenn ich versuche, mit einem Bildbetrachter herunterladen und öffnen.
Auch muss ich die URl des hochgeladenen Bildes erhalten, um an den Benutzer zurückzukehren.
Bitte Hilfe!
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);
});
};
Randbemerkung, mit 's3.upload' erhalten Sie die URL der hochgeladenen Datei,' s3.putObject' nicht –