HTTP Post Request с изображением Javascript

Я пытаюсь отправить запрос на отправку в API распознавания изображений, используя Javascript, но я не могу понять, как отправить фактическое изображение. Я знаю, что не могу отправить его, используя только локальный файл (при попытке его запустить я получаю сообщение об ошибке "Запросы перекрестного происхождения поддерживаются только для схем протокола"). Как бы я отправил изображение, используя запрос Post?

Мой код до сих пор:

var xhr = new XMLHttpRequest();

xhr.open("POST", "cigarette.jpg", false);
xhr.setRequestHeader("Authorization", "CloudSight [key]");

xhr.send("http://api.cloudsightapi.com/image_requests");

console.log(xhr.status);
console.log(xhr.statusText);

Я довольно новичок в Javascript и API и не делал ничего подобного раньше; Как бы я отправил изображение, не вдаваясь в невероятно сложные вещи?

1 ответ

Решение

Есть несколько проблем с вашим кодом.

  1. Вам нужны правильные заголовки HTTP для переноса изображения.
  2. Вы не можете разместить изображение JPG, как это.

Кроме того, вы не используете API должным образом, пожалуйста, посмотрите здесь, чтобы увидеть, как это сделать.

https://cloudsight.readme.io/docs/testinput

Также найти образец здесь в curl

curl -i -X POST \
-H "Authorization: CloudSight [key]" \
-F "image_request[image]=@Image.jpg" \
-F "image_request[locale]=en-US" \
https://api.cloudsightapi.com/image_requests
Другие вопросы по тегам