我需要将视频从磁盘发送到Cognitive Services Emotion。我差不多完成了,但是我无法弄清楚如何正确格式化身体而且我不能使用'{url:http:// ...}',因为我无法公开我想提交的视频。我的代码:
$.ajax({
"headers":{
"Content-Type":"application/octet-stream",
"Ocp-Apim-Subscription-Key":"SECRET"
},
type: "POST",
url: url,
"data": JSON.stringify({video: data}),
success: (x,stat,res) => {
},
error: (res) => {
}
});
如您所见,我曾尝试使用'octet-stream'发送视频。这是我做过的很多方式之一。我不知道是否需要发送JSON(类似于发送url时)或执行其他操作。我在官方文档上找不到任何相关信息。救命??
谢谢!
答案 0 :(得分:0)
请查看Sending binary data in javascript over HTTP。
$.ajax({
"headers":{
"Content-Type":"application/octet-stream",
"Ocp-Apim-Subscription-Key":"SECRET"
},
type: "POST",
url: url,
data: data,
success: (x,stat,res) => {
},
error: (res) => {
}
});
您希望body有效负载是Cognitive Services的原始(未编码)二进制数据。接受的格式列于here。
另一个要记住的重要事项是jQuery调用HTTP 202 responses的错误处理程序,这是从这个API获得的。因此,您的错误处理程序需要处理这种情况,或者更重要的是,您的成功处理程序将永远不会被调用。