我正在使用lambda的人脸识别和人脸检测API,并且应该使用post从api获得响应。 通常为了获得我使用的回复,而为了发送回复,我使用帖子。如何使用 post 获得此响应,以便判断图像是否已被识别? 我的代码如下:
节点.js文件
facedetAPIRoutes.route("/").post(function (req, res){
let imageUrl = req.body.url;
myFaceDetAPI.recognizeImg(imageUrl);
});
服务文件
sendImage(imgUrl){
console.log(imgUrl);
const obj = {
url: imgUrl
};
this.http.post(`${this.uri}`, obj)
.subscribe(res => {
console.log("this is res: " + res);
console.log('image sent to api done');
});
}
组件文件
public handleImage(webcamImage: WebcamImage): void {
console.info("received webcam image", webcamImage);
this.webcamImage = webcamImage;
console.log("this is: " + this.webcamImage.imageAsDataUrl);
//this.fda.sendImage(this.webcamImage.imageAsDataUrl);
this.fda.sendImage("http://localhost:4000/uploads/1570563000257-arnold4.jpg");
}
Hellow。您可以使用响应的状态代码。200状态码是操作的成功状态。 或者如果错误,它会向您发送状态代码 4xx。 您可以阅读有关状态代码的更多信息 https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
显然这是我的后端文件中的问题。为此,我只是使用了res.status。这样我就可以在我的服务文件中使用订阅。
节点.js
facedetAPIRoutes.route("/").post(function (req, res){
let imageUrl = req.body.url;
res.status(200).json(myFaceDetAPI.recognizeImg(imageUrl));
});
服务文件
sendImage(imgUrl){
console.log(imgUrl);
const obj = {
url: imgUrl
};
this.http.post(`${this.uri}`, obj)
.subscribe(res => {
console.log("this is res: " + JSON.stringify(res));
console.log('image sent to api done');
});
}