【发布时间】:2016-01-12 12:36:28
【问题描述】:
我正在尝试使用 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 还很陌生,以前从未真正做过这样的事情;如何在不涉及极其复杂的内容的情况下发送图像?
【问题讨论】:
-
这取决于服务期望数据采用什么格式(我不知道这是什么格式,因为它们似乎没有链接到来自their API homepage 的任何面向公众的文档) .哦,不,找到了文档,它们被页面中间的链接(看起来不像链接)很好地隐藏了。
-
(
open的第二个参数应该是 web 服务端点的 URL)。 -
所以it says "Image attach as a multipart-form-request part.",这意味着您只需以常规方式发布表单数据。
-
@Quentin 那么如果 open 的第二个参数是 URL,那么图像会去哪里,我将如何附加表单数据?对不起,如果这真的是基本的东西……有没有我可以看看的链接告诉我呢?编辑:对不起,在我看到链接之前发布:非常感谢! :)
标签: javascript api http post cloudsight