2017-07-20 3 views
0

いいえ 私はすでに何か私はすでに私がテストをアップロードしたオーディオのデータを持って、次のステップは、フォームを介してオーディオをアップロードし、プロセスがAJAXを介して行われます実装するつもりです 。API VoiceBaseとオーディオをアップロードする

<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コード私が述べたように、ファイルが既に問題なく上昇するため、私は、次のコードを交換し、アヤックス、言語の特に一部としてそれを配置する必要があり

$('#formFile').submit(function(e) { 

    var access_token = 'eyJ0eXAiOiJKV1QiLCJh'; 

    var formData = new FormData(document.getElementById('formFile')); 
    formData.append('dato', 'valor'); 

    $.ajax({ 
     url: 'https://apis.voicebase.com/v2-beta/media', 
     type: 'POST', 
     data: formData, 
     cache: false, 
     contentType: false, 
     processData: false, 
     beforeSend: function(xhr) { 
      xhr.setRequestHeader('Authorization', 'Bearer ' + access_token); 
     }, 
     success: function(result) { 
      console.log(result); 
     }, 
    }); 


    e.preventDefault(); 
}); 

は以下の通りです。 。

curl https://apis.voicebase.com/v2-beta/media \ 
    --form [email protected] \ 
    --form 'configuration={ 
     "configuration": { 
     "language": "es-LA", 
     "keywords": { 
      "semantic": false 
     }, 
     "topics": { 
      "semantic": false 
     } 
     } 
    }' \ 
    --header "Authorization: Bearer ${TOKEN}" 
+0

フォームの送信ボタンが必要 – user10089632

+0

ありがとうございます、私はそれを書くことは間違いだと付け加えましたが、それは主要な問題ではありません。 –

+0

Chromeを使用している場合は、「開発ツール」を有効にしてください(Mozilla Firefoxの場合も同様です)。 HTTPリクエストで送受信しているものを確認することができます – cerebrotecnologico

答えて

0

ここで問題となっているのは、リクエストで構成JSONファイルが見つからないことです。 cURLリクエストには、 'configuration = {"configuration ..."'始まる要素があります。この設定は、v2-betaがあなたがアップロードしているメディアファイルをどのように処理するかを理解するために必要です。 config.jsonファイルを作成し、このファイルをヘッダーのメディアファイルに加えて、formDataに 'configuration'という別の要素を作成し、configuration.jsonを添付してアップロードすることもできます。

あなたが何かしたい:ところで

configuration={ 
    "configuration": { 
    "language": "es-LA", 
    "keywords": { 
     "semantic": false 
    }, 
    "topics": { 
     "semantic": false 
    } 
    } 
} 

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ファイルが含まれている必要がありますが、あなたの完全なアクセストークンを投稿しませんありがとうございます!アクセストークンは、ユーザー名とパスワードに相当するものとしてみなされるべきであり、共有するべきではありません。

+0

Daniel O'Rorkeありがとう、私はそれを試してみます。 –

関連する問題