Конвертировать POST-запрос в C # в JavaScript - PullRequest
0 голосов
/ 25 ноября 2018

Мне нужно преобразовать этот код C # в JavaScript:

HttpClient client = new HttpClient();
string SECRET_KEY = "my_secret_key";

Byte[] bytes = System.IO.File.ReadAllBytes(@"c:\1.jpg");
string imagebase64 = Convert.ToBase64String(bytes);

var content = new StringContent(imagebase64);

var response = await client.PostAsync("https://api.openalpr.com/v2/recognize_bytes?recognize_vehicle=1&country=us&secret_key=" + SECRET_KEY, content).ConfigureAwait(false);

var buffer = await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
var byteArray = buffer.ToArray();
var responseString = Encoding.UTF8.GetString(byteArray, 0, byteArray.Length);

Я пытался сделать это в JavaScript:

var file = document.querySelector('input[type="file"]').files[0];
getBase64(file).then(
    data => $.ajax({
        type: 'POST',
        url: 'https://api.openalpr.com/v2/recognize_bytes?recognize_vehicle=1&country=br&secret_key=' + secret_key,
        contentType: 'text/plain; charset=utf-8',
        data: data,
        success: function (ret) {
            console.log(ret);
        },
        error: function (ret) {
            console.log(ret);
        }
    }

По сути, оба предназначены для преобразования изображения в Base64 и отправкичерез POST к конечной точке API.

Преобразование работает, как и ожидалось, в обоих случаях, однако я получаю ошибку в JS.

Ошибка 400: Ошибка загрузки изображения

Не знаюУ меня нет доступа к серверной части этого API, и у меня нет поддержки.Я думаю, что некоторые требования отличаются, может быть, формат типа или что-то ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...