I try aws rekognition detectFaces method throught awsapigateway and lumbda fuction.
Data which is eynctype="multipart/form-data" request to event.body
in lumbda function.
But, this event.body
seems all post request payload.I need to exclude something fo fitting detectFaces method's "Bytes".
I don't know what exclusive strings is and how to exclude.Prease let me know.
<html>
<body>
<form action="https://myapiGatewayAccount.amazonaws.com/test1" method="post" enctype="multipart/form-data" name="form">
<input type="file" name="image" id="inp">
<input type="submit" value="Upload">
</form>
</body>
</html>
lumbda
const aws = require("aws-sdk");
const rekognition = new aws.Rekognition();
exports.handler = async(event) => {
let image = Buffer.from(event.body,'base64').toString();
console.log('image:'+image);
let splitImage = new Buffer.from("data:image/png;base64,", 'base64').toString();
console.log('splitImage:'+splitImage);
let splitedImage = image.split(splitImage)[1]; //<[1]>prefix
let imageBytes = new Buffer.from(splitedImage, 'base64');
console.log('imageBytes:'+imageBytes);
const params = {
Attributes: ["DEFAULT"],
Image: {
Bytes: imageBytes,
},
};
console.log(params);
const promise = new Promise(function(resolve, reject) {
rekognition.detectFaces(params, function(err, data) {
if (err) {
console.log(data);
console.log("error is ......");
console.log(err, err);
reject(err);
}
else console.log(data);
const response = {
statusCode: 200,
body: data,
};
resolve(response);
console.log(resolve);
});
});
return promise;
};
question from:
https://stackoverflow.com/questions/65883736/aws-rekognition-detectfaces-how-to-exclude-post-request-payload-but-image 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…