Как передать изображение, снятое веб-камерой с помощью Angular7, на лицо AzureAPI - PullRequest
0 голосов
/ 21 апреля 2019

Я очень плохо знаком с Angular 7 и хотел создать очень простое приложение, которое будет фиксировать ваше изображение через веб-камеру и отправлять его в AzureAPI, чтобы узнать ваш возраст. Тем не менее, какое-то время я получал ту же ошибку, и, похоже, я не могу ее исправить.

В представлении у меня есть кнопка для захвата вашего изображения, вот функция для этого:

     public capture() {
     var context = 
this.canvas.nativeElement.getContext("2d").drawImage(this.video.nativeElement, 0, 0, 640, 480);
    this.captures.push(this.canvas.nativeElement.toDataURL("image/png"));
    this.imageUrl= this.canvas.nativeElement.toDataURL("image/png");
    var imgData = JSON.stringify(this.imageUrl.split(',')[1]);
    console.log(imgData);
    console.log(this.data.getPersonAge(imgData).subscribe(data => {this.PersonInfo = data
  console.log(data)}))
}

и в сервисе у меня есть следующая функция, которая вызывает API:

      getPersonAge(image)
  {
    console.log("data.Service.ts");
    const Headers = new HttpHeaders({
      'Content-Type': 'application/octet-stream',
      'Ocp-apim-Subscription-Key': this.apiKey
    })

    return this.http.post(this.url, image, { headers: Headers});
  }

и я получаю ответ BadRequest, потому что я передаю недопустимый тип изображения, и я не уверен, как преобразовать то, что у меня есть, в действительное изображение.

...