AWS S3 putobject和带有Rekognition的DetectFaces之后

时间:2017-03-28 12:47:02

标签: javascript node.js amazon-web-services amazon-rekognition

我正在用nodejs和aws做一个项目。

我正在使用WebRTC并拍照。

在我拍摄base64数据和发布nodejs后,我将它放在我的aws控制台上,我将它用于检测面,但是它给出了错误。

但我正在从我的aws控制台添加照片手动检测没有出错的面孔。

我的代码在这里: 我的WEBCAM JS: 这给了我一个base64。

> drawImage(video, 0, 0, canvas.width, canvas.height);
>      var data = canvas.toDataURL('image/jpeg');
>       photo.setAttribute('src', data);
>       console.log(data);

我正在尝试使用POSTMAN CHROME EXTENSION发布到我的nodejs我可以把它放好但我不能使用检测面。

我的nodejs:

app.post('/addPhoto', function (req, res) {
 var base64data=new Buffer(req.body.photo.replace(/^data:image\/\w+;base64,/, ""),'base64');
console.log(base64data);
  var params = {Bucket:  "realeyeshomework", Key:"111111111.jpg", Body: base64data};
   s3.putObject(params, function(err, data) {
     if (err)
       console.log(err)
     else{
       console.log("1");

       rekognition.detectFaces( {
 Image: {
        S3Object: {
        Bucket: "realeyeshomework",
        Name:"111111111.jpg"
        }
      },
 Attributes: [
    "ALL"
  ]
}, function(error, response) {
        if (error) console.log(error, error.stack); // an error occurred
        else  res.send(response);
    });
     }
   });
});

我的错误: CLICK HERE FOR ERROR

我怎么能这样做,请帮助我,我无法做任何事情。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

你设定了吗?

var rekognition = new AWS.Rekognition({apiVersion: '2016-06-27'});

尝试观看Examples Code

答案 1 :(得分:0)

问题出在图片上。我遇到了完全相同的问题,但最终我发现我使用的图像已损坏。图像在MSPaint中正确打开,但未被AWS Rekognition识别。尝试将图像直接上传到AWS Rekognition控制台,您将得到相同的错误。有关此主题的更多详细信息:AWS Rekognition Error - InvalidparameterException