Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php API语音库和上传音频_Php_Jquery_Ajax_Curl_Speech Recognition - Fatal编程技术网

Php API语音库和上传音频

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"

好天气 我打算以某种方式实现我已经获得了上传测试的音频数据,下一步是通过表单上传音频,这个过程是通过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">
  </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
    }
  }
}