2

我正在尝试使用 Javascript 向图像识别 API 提交发布请求,但我无法弄清楚如何发送实际图像。我知道我不能仅使用本地文件发送它(当我尝试运行它时,我得到“跨源请求仅支持协议方案”错误)。如何使用 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 还很陌生,以前从未真正做过这样的事情;我如何发送图像而不涉及非常复杂的东西?

4

1 回答 1

0

您的代码几乎没有问题。

  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
于 2015-10-14T12:37:28.537 回答