Как отправить двоичные данные в API с Angular JS

0

Я пытаюсь отправить двоичный файл изображения в 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
    });
Теги:
ionic

1 ответ

0

Ну, во-первых, похоже, что вы дважды добавляете data:image/jpeg;base64 prefix. Один раз в getPicture(options).then(), затем также при создании URL-адреса запроса. Используйте некоторые инструменты браузера для проверки вашего запроса и убедитесь, что это то, что вы ожидаете.

Изменение: похоже, что API может ожидать POST-запрос с данными изображения в виде данных с несколькими формами? Не совсем уверен, документация не кажется полной.

  • 0
    Совершенно нелогично ожидать, что параметр запроса GET примет что-то вроде изображения. Документация не кажется полной, но размещение почты, похоже, является наиболее разумным способом.
  • 0
    хорошо я собираюсь попробовать
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню