带有图像的 HTTP Post 请求 Javascript
HTTP Post Request with Image Javascript
我正在尝试使用 Javascript 向图像识别 API 提交 Post 请求,但我不知道如何发送实际图像。我知道我不能仅使用本地文件发送它(当我尝试 运行 时收到 "Cross origin requests are only supported for protocol schemes" 错误)。我将如何使用 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 headers 才能移植图像。
- 你不能 POST 这样的 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
我正在尝试使用 Javascript 向图像识别 API 提交 Post 请求,但我不知道如何发送实际图像。我知道我不能仅使用本地文件发送它(当我尝试 运行 时收到 "Cross origin requests are only supported for protocol schemes" 错误)。我将如何使用 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 headers 才能移植图像。
- 你不能 POST 这样的 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