Я пытаюсь отправить двоичный файл изображения в api.
В api есть режим, в котором вы можете отправить URL-адрес, если я это сделаю, что код работает нормально. Итак, теперь я хочу отправить двоичное изображение из html-холста. Здесь документы api, чтобы вы могли видеть параметр https://dev.havenondemand.com/apis/ocrdocument#request
Когда я вызываю метод getOCR, я получаю сообщение об ошибке. что заставляет меня думать, что вызов api не выполняется правильно. PLS помощи.
Вот как выглядит моя функция отправки.
$scope.getOCR = function(imageData){
var apikey = 'xxxxxx';
var requestString = 'https://api.havenondemand.com/1/api/sync/ocrdocument/v1?apikey='+ apikey +'&file='+ "data:image/jpeg;base64," + imageData;
$http.get(requestString).then(function(resp) {
alert(angular.fromJson(resp.data).text_block[0]['text']);
}, function(err) {
alert('error');
})
}
И вот как это выглядит, когда я вызываю метод
$cordovaCamera.getPicture(options).then(function(imageData) {
$scope.imgURI = "data:image/jpeg;base64," + imageData;
$scope.getOCR(imageData);
},
function(err) {
// An error occured. Show a message to the user
});
Ну, во-первых, похоже, что вы дважды добавляете data:image/jpeg;base64
prefix. Один раз в getPicture(options).then()
, затем также при создании URL-адреса запроса. Используйте некоторые инструменты браузера для проверки вашего запроса и убедитесь, что это то, что вы ожидаете.
Изменение: похоже, что API может ожидать POST-запрос с данными изображения в виде данных с несколькими формами? Не совсем уверен, документация не кажется полной.