したがって、私のプロジェクトでは、ユーザーが自分自身を記録し、使用しているレコーダープラグインから blob ファイルを取得できます。codeigniter の fileupload ajax 呼び出しを介してそのブロブをサーバーにアップロードしようとしていますが、それを機能させる方法がわかりません。
これは私のJavaScriptコードです:(
recorder.exportWAV(function(blob) {
console.log(blob);
$.ajaxFileUpload({
url : "../ajax/saverecording/",
secureuri :false,
fileElementId :"geenidee",
dataType : blob.type,
data: blob.data,
success: function(data, status) {
if(data.status != 'error')
alert("hoera!");
alert(data.msg);
}
});
});
これは、ajax.php コントローラーの saverecording 関数です。
public function saverecording()
{
$status = "";
$msg = "";
$file_element_name = 'komaan';
if ($status != "error")
{
$config['upload_path'] = '../../upload/audio/recordings/';
$config['allowed_types'] = 'wav';
$this->load->library('upload', $config);
if (!$this->upload->do_upload($file_element_name))
{
$status = 'error';
$msg = $this->upload->display_errors('', '');
echo 'alert("this is not working!");';
}
else
{
$data = $this->upload->data();
}
@unlink($_FILES[$file_element_name]);
}
}
$this->upload->do_upload($file_element_name) は false を返していますが、なぜわかりません。誰か助けてくれませんか?
ありがとう!