Я пытаюсь отправить мое изображение base64 в кодировке или в виде BLOB-объекта, или bufferArray в Microsoft Face Api, чтобы узнать мой возраст. Я всегда получаю ошибку Bad Request 400: изображение в маленьком или неправильном формате. Я использую веб-камеру ngx для создания моего изображения base64 после съемки с помощью веб-камеры.
Я знаю, что могу отправить его в виде URL, сначала загрузив свое изображение, а затем отправив правильный URL-адрес, но я хочу попробовать отправить изображение в локальное хранилище в виде двоичных данных.
Я пытался отправить данные моего изображения в формате base64: 9j / 4AAQSkZJRgABAQAAAQABAAD… V5LjZGO / vU70eVWYKZCynsT6ihzRj5ONxb7QqMp4Z8n9H / 9k =
И в качестве URL-адреса данных изображения: data: image / jpeg; base64, / 9j / 4AAQSkZJRgABAQAAAQABAAD… V5LjZGO / vU70eVWYKZCynsT6ihzRj5ONxb7QqMp4Z8n9H / 9k =
И как Blob: Uint8Array (58373) [255, 216, 255, 224, 0, 16, 74, 70, 73, 70, 0, 1, 1, 0, 0, 1, 0, 1, 0 , 0, 255, 219, 0, 67, 0, 3, 2, 2, 2, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 4, 6, 4, 4, 4 , 4, 4, 8, 6, 6, 5, 6, 9, 8, 10, 10, 9, 8, 9, 9, 10, 12, 15, 12, 10, 11, 14, 11, 9, 9 , 13, 17, 13, 14, 15, 16, 16, 17, 16, 10, 12, 18, 19, 18, 16, 19, 15, 16, 16, 16, 255, 219, 0, 67, 1 , 3, 3, 3, 4, 3, 4,…]
но любой из них имеет успех с ответом.
App.component.ts
(моя библиотека веб-камеры ngx помогает мне с помощью веб-камеры генерировать изображение в виде base64 или URL-адреса данных: переменная, в которой я храню данные моего изображения, называется "webcamImage")
/* I will not write the functions that helps ngx webcam do with it function,
*/
/* this function is in where I send my variable with the image data as base64
*/
getPersonAge( ){
this.data.getPersonAge(this.webcamImage.imageasBase64).subscribe((data:
string) =>{
this.persona = data;
console.log(this.persona);
})
}
data.service.ts
constructor(public http: HttpClient){ }
public url =
'https://eastus2.api.cognitive.microsoft.com/face/v1.0/detect?
returnFaceAttributes=age,gender';
getPersonAge(imageUrl : any){
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/octet-stream',
'Ocp-Apim-Subscription-Key':'xxxxxxxxxxxx',
'processData': 'false'
}) }
return this.http.post(this.url,{ data:imageUrl}, httpOptions)
}
Какой правильный формат изображения для его правильной отправки в MS Face Api, без использования альтернативного URL-изображения.