Я хочу анализировать изображения и извлекать из них информацию, используя Azure Cognitive Services. В бэкэнде есть функция для обнаружения лиц по картинке, которая работает правильно:
[HttpPost("detectfaces/{userName}/{fileName}")]
public ActionResult<List<Face>> DetectFacesFromPic(string userName, string fileName)
{
IFaceClient client = Authenticate(this._face_endpoint, this._face_subsciption_key);
List<Imagen> arrayImages = createUserImgsList(userName);
string url = arrayImages.Find(i => i.url.Contains(fileName)).url;
List<Face> faceList = DetectFaceExtract(client, url).Result;
return Ok(faceList);
}
И это класс Face:
public class Face
{
public DetectedFace detectedFace;
public Emotion emotion;
public string emotionType;
public List<Accessory> accessories;
public Face(DetectedFace df, Emotion e, string et, List<Accessory> a)
{
this.detectedFace = df;
this.emotion = e;
this.emotionType = et;
this.accessories = a;
}
}
Если я отлаживаю, информация исправить в разделе проверки: Ответ бэкэнда
Но когда я пытаюсь получить доступ к этой информации во внешнем интерфейсе, он просто не получает ее: Пытается получить информацию из бэкэнда
Вот код, который пытается получить доступ к информации:
detectFaces(userName: string, fileName: string){
return this.http.post<Array<Face>>(`${environment.apiUri}api/values/detectFaces/${userName}/${fileName}`, {})
.pipe(
map(
ret => {
console.log(ret);
return ret;
}
), catchError(this.handleError));
}
И затем я пытаюсь добавить ее в файл HTML, но отображается «ret». здесь
detectFacesFromPic(fileName: string){
this.imagesService.detectFaces(this.user.name, fileName)
.subscribe(
faces => {
console.log("Faces in " + fileName);
console.log(faces);
});
}
РЕДАКТИРОВАТЬ: я проверил вкладку Сеть в проводнике, он получает тот же ответ
Я уверен, что там мне чего-то не хватает, но я не могу понять, что это такое.