Я пытаюсь загрузить изображение с помощью Microsoft Computer Vision API с мобильного устройства, но я постоянно получаю 400 Bad Request for Invalid File Format «Входные данные не являются допустимым изображением». Документации говорится, что я могу послать данные как приложения/октет потока в следующем виде:Microsoft Cognitive Services: Загрузка изображения
[двоичные данные изображения]
У меня есть данные изображения с точки зрения кодирования base64 («/ 9j/4AAQSkZJ ..........»), и у меня также есть изображение как FILE_URI, но я не могу понять, в каком формате отправлять данные. Вот пример кода:
$(function() {
$.ajax({
url: "https://api.projectoxford.ai/vision/v1.0/describe",
beforeSend: function (xhrObj) {
// Request headers
xhrObj.setRequestHeader("Content-Type", "application/octet-stream");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key", computerVisionKey);
},
type: "POST",
// Request body
data: base64image,
processData: false
})
.done(function(data) {
alert("success");
})
.fail(function(error) {
alert("fail");
});
});
Я попробовал следующее:
- [base64image]
- {base64image}
- "данные: изображение/JPEG; base64," + base64image
- "изображение/JPEG; base64," + base64image
и многое другое.
Я проверил их на консоли API Computer Vision. Это потому, что двоичный код с кодировкой base64 не является приемлемым форматом? Или я отправляю его в неправильном формате?
Примечание: операция выполняется при отправке URL-адреса в качестве приложения/json.
Спасибо за помощь! – Mirodinho