我试图使用Javascript向图像识别API提交Post Request,但我无法确定如何发送实际图像。我知道我不能只使用本地文件发送它(当我尝试运行它时,我得到了"跨源请求仅支持协议方案"错误)。我如何使用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的新手,以前从未真正做过这样的事情;我该如何发送图像而不涉及难以置信的复杂内容?
你的代码有几个问题。
- 你需要正确的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