Php API语音库和上传音频
好天气 我打算以某种方式实现我已经获得了上传测试的音频数据,下一步是通过表单上传音频,这个过程是通过AJAX完成的Php API语音库和上传音频,php,jquery,ajax,curl,speech-recognition,Php,Jquery,Ajax,Curl,Speech Recognition,好天气 我打算以某种方式实现我已经获得了上传测试的音频数据,下一步是通过表单上传音频,这个过程是通过AJAX完成的 <form id="formFile"> <div class="form-group"> <label for="vb-file">Agregar Archivo:</label> <input type="file" class="form-control" id="media" name="media"
<form id="formFile">
<div class="form-group">
<label for="vb-file">Agregar Archivo:</label>
<input type="file" class="form-control" id="media" name="media">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
我需要替换以下代码,并将其作为ajax,尤其是语言的一部分,因为正如我所提到的,文件已经毫无问题地出现了
curl https://apis.voicebase.com/v2-beta/media \
--form media=@recording.mp3 \
--form 'configuration={
"configuration": {
"language": "es-LA",
"keywords": {
"semantic": false
},
"topics": {
"semantic": false
}
}
}' \
--header "Authorization: Bearer ${TOKEN}"
这里的问题是,您的请求中缺少配置JSON文件。在cURL请求中,有一个元素开头:'configuration={“configuration…”此配置对于v2beta版了解如何处理正在上载的媒体文件是必需的。 通过在formData中创建另一个名为“configuration”的元素并附加configuration.json,您可以创建一个config.json文件,并将其与媒体文件一起上传到标题中 你想要的是:
var formData = new FormData();
formData.append("media", "my_media_file.mp3");
formData.append("configuration", "configuration.json");
var settings = {
"url": "https://apis.voicebase.com/v2-beta/media",
"method": "POST",
"headers": {
"accept": "application/json",
"authorization": "Bearer access_token"
},
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": formData
}
$.ajax(settings).done(function (response) {
console.log(response);
});
您的configuration.json文件应包含:
configuration={
"configuration": {
"language": "es-LA",
"keywords": {
"semantic": false
},
"topics": {
"semantic": false
}
}
}
顺便说一句:谢谢你没有发布你的完全访问令牌!访问令牌应该被视为等同于用户名和密码-不应该被共享。你的表单需要一个提交按钮。对不起,谢谢,我补充说,不写是一个错误,但这不是主要问题。如果你使用Chrome,请启用“开发者工具”(Mozilla Firefox也有类似的功能)。然后你可以在HTTP请求中看到你正在发送和接收什么。谢谢Daniel O'Rorke,我会试试。
configuration={
"configuration": {
"language": "es-LA",
"keywords": {
"semantic": false
},
"topics": {
"semantic": false
}
}
}