WAV blob をアップロードするためのクライアント側 JavaScript 関数:
function upload(blob) {
var xhr=new XMLHttpRequest();
xhr.onload=function(e) {
if(this.readyState === 4) {
console.log("Server returned: ",e.target.responseText);
}
};
var fd=new FormData();
fd.append("that_random_filename.wav",blob);
xhr.open("POST","<url>",true);
xhr.send(fd);
}
PHP ファイルupload_wav.php
:
<?php
// get the temporary name that PHP gave to the uploaded file
$tmp_filename=$_FILES["that_random_filename.wav"]["tmp_name"];
// rename the temporary file (because PHP deletes the file as soon as it's done with it)
rename($tmp_filename,"/tmp/uploaded_audio.wav");
?>
その後、ファイルを再生できます/tmp/uploaded_audio.wav
。
でも覚えておいて!/tmp/uploaded_audio.wav
はユーザーによって作成され、www-data
(PHP のデフォルトでは) ユーザーは読み取ることができません。適切な権限の追加を自動化するには、次の行を追加します
chmod("/tmp/uploaded_audio.wav",0755);
PHP の末尾 (PHP 終了タグの前?>
) まで。
お役に立てれば。