对于所有将此标记为重复的人,请查看您所参考的其他答案和我在这里提供的链接。它们的内容类型是
我正在尝试将音频文件发送到服务器,以便我可以获得JSON响应。这是IBM提供的服务,因此我们拥有他们提供的REST API。以下是我的
以下是我将要进行的REST调用的IBM示例 -
链接示例页面和描述为 - http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/speech-to-text/api/v1/#recognize 我的问题是,我如何通过Ajax发送二进制文件?这实际上是一个phonegap应用程序。
这里有一个有趣的问题; 如果我将文件的URI发送到REST调用的标签中,它可以工作。如果我发送真实路径,则无法使用。为什么???
audio/wav
,而不是其他答案中提到的stream/octet
。请不要在阅读其内容之前将问题标记为重复。我正在尝试将音频文件发送到服务器,以便我可以获得JSON响应。这是IBM提供的服务,因此我们拥有他们提供的REST API。以下是我的
ajax
代码。function recognize()
{
$.ajax
({
type: "POST",
url: "https://stream.watsonplatform.net/speech-to-text/api/v1/recognize",
dataType: 'json',
username: "xxxx",
password: "xxxx",
contentType: "audio/wav",
success: function (data){
alert(JSON.stringify(data));
}
});
}
以下是我将要进行的REST调用的IBM示例 -
curl -u "{username}":"{password}" \
-H "content-type: audio/wav" \
--data-binary @"/path/to/file.wav" \
"https://stream.watsonplatform.net/speech-to-text/api/v1/sessions/{session_id}/recognize"
链接示例页面和描述为 - http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/speech-to-text/api/v1/#recognize 我的问题是,我如何通过Ajax发送二进制文件?这实际上是一个phonegap应用程序。
这里有一个有趣的问题; 如果我将文件的URI发送到REST调用的标签中,它可以工作。如果我发送真实路径,则无法使用。为什么???