带有图像Javascript的HTTP Post请求
我正在尝试使用Javascript向图像识别API提交Post请求,但我无法确定如何发送实际图像。我知道我不能仅使用本地文件发送它(当我尝试运行它时,我得到“跨源请求仅支持协议方案”错误)。如何使用Post请求发送图像 到目前为止,我的代码是:带有图像Javascript的HTTP Post请求,javascript,api,http,post,cloudsight,Javascript,Api,Http,Post,Cloudsight,我正在尝试使用Javascript向图像识别API提交Post请求,但我无法确定如何发送实际图像。我知道我不能仅使用本地文件发送它(当我尝试运行它时,我得到“跨源请求仅支持协议方案”错误)。如何使用Post请求发送图像 到目前为止,我的代码是: var xhr=new-XMLHttpRequest(); xhr.open(“POST”、“香烟.jpg”、false); setRequestHeader(“授权”、“CloudSight[key]”; xhr.send(“http://api.cl
var xhr=new-XMLHttpRequest();
xhr.open(“POST”、“香烟.jpg”、false);
setRequestHeader(“授权”、“CloudSight[key]”;
xhr.send(“http://api.cloudsightapi.com/image_requests");
控制台日志(xhr.status);
console.log(xhr.statusText)代码>您的代码几乎没有问题
您需要正确的HTTP头来移植映像
你不能发布这样的JPG图片
此外,如果您没有正确使用API,请查看此处以了解如何操作
也可以在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
您的代码几乎没有问题
您需要正确的HTTP头来移植映像
你不能发布这样的JPG图片
此外,如果您没有正确使用API,请查看此处以了解如何操作
也可以在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
这取决于服务希望数据采用的格式(我不知道这是什么格式,因为它们似乎没有链接到任何面向公众的文档)。哦,不,找到文档,他们只是隐藏在页面中间的一个链接(看起来不像链接)。(第二个参数<代码>打开/代码>应该是WebService端点的URL)。这意味着您只需以常规方式发布表单数据。@Quentin的副本。因此,如果open的第二个参数是URL,那么图像将显示在哪里,我将如何附加表单数据?抱歉,如果这真的是基本的东西。。。是否有一个链接,我可以看看告诉我,也许?编辑:抱歉,在我看到链接之前发布:非常感谢!:)这取决于服务希望数据采用的格式(我不知道这是什么格式,因为它们似乎没有链接到任何面向公众的文档)。哦,不,找到文档,他们只是隐藏在页面中间的一个链接(看起来不像链接)。(第二个参数<代码>打开/代码>应该是WebService端点的URL)。这意味着您只需以常规方式发布表单数据。@Quentin的副本。因此,如果open的第二个参数是URL,那么图像将显示在哪里,我将如何附加表单数据?抱歉,如果这真的是基本的东西。。。是否有一个链接,我可以看看告诉我,也许?编辑:抱歉,在我看到链接之前发布:非常感谢!:)谢谢,我会:当你说正确的HTTP头来移植图像时,你是什么意思?你需要设置一个HTTP头授权:CloudSight[key]
和多部分/表单数据
,这是常规xhr
无法完成的。您可能希望切换到jQuery以更好地执行此操作。谢谢,我会:当您说正确的HTTP头来移植映像时,您的意思是什么?您需要设置HTTP头授权:CloudSight[key]
和多部分/表单数据,这是常规xhr
无法完成的。您可能希望切换到jQuery,以更好的方式完成它。