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 ответ
Есть несколько проблем с вашим кодом.
- Вам нужны правильные заголовки HTTP для переноса изображения.
- Вы не можете разместить изображение 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