我使用html5录制语音,并将音频保存在BLOB中。然后我使用该blod将音频文件上传到使用ajax的文件夹中。但是这没有发生。如果有人可以提供帮助,请提供我的代码:
var url = URL.createObjectURL(blob);
var li = document.createElement('li');
var au = document.createElement('audio');
var hf = document.createElement('a');
au.controls = true;
au.src = url;
hf.href = url;
hf.download = 'audio_recording_' + new Date().getTime() + '.wav';
hf.innerHTML = hf.download;
li.appendChild(au);
li.appendChild(hf);
var fileName=hf.download;
alert (fileName);
$.ajax({
type:'POST',
url: 'upload.php',
data:{"fileName":fileName},
success: function(response) {
console.log("file uploaded");
console.log(response.fileName);
} //end of success
});//end of ajax
上传文件夹应该包含录音,但文件夹中没有保存任何内容。我的代码出了什么问题?
服务器端:
<?php
$temp = explode(".", $_FILES["fileName"]["name"]);
$extension = end($temp);
$fileName=$_POST['fileName'];
if ($_FILES["fileName"]["error"] > 0) {
console.log( "Return Code: " . $_FILES["fileName"]["error"] . "<br>");
} else {
if (file_exists("upload/" . $_FILES["fileName"]["name"])) {
console.log( $_FILES["fileName"]["name"] . " already exists. ");
} else {
move_uploaded_file($_FILES["fileName"]["tmp_name"],
"upload/" . $_FILES["fileName"]["name"]);
}
}
?>