Я пытаюсь отправить изображение, снятое с камеры, в API-интерфейс Face для Microsoft Cognitive Service (используя метод определения лица ). Тем не менее, когда я пытаюсь, он возвращает «Response 415»:
{
"error": {
"code": "BadArgument",
"message": "Invalid Media Type."
}
}
Вот мой код для этого метода:
final bytes = image.readAsBytesSync();
var uri = Uri.parse("https://australiaeast.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false");
var request = new http.MultipartRequest("POST", uri);
var multipartFile = new http.MultipartFile.fromBytes('url', bytes, contentType: new MediaType('image', 'jpeg'));
request.headers['Ocp-Apim-Subscription-Key'] = "9c261636281d42c0947d89fe3982df73";
request.headers['Content-Type'] = "application/octet-stream";
request.files.add(multipartFile);
var response = await request.send();
print(request);
print(response.statusCode);
response.stream.transform(utf8.decoder).listen((value) {
print(value);
}
Я использовал плагин Flutter Image Picker, чтобы сделать снимок и заставить его хорошо отображаться на экране. Все остальные операции, которые я пробовал с Microsoft Cognitive Services, работают нормально - только загрузка этого изображения вызывает у меня проблемы.