だから私はフォームデータと一緒に画像をサーバーにアップロードしようとしています。FileReader APIを使用して、画像をデータに変換し、サーバーにアップロードしています。AJAXJqueryを使用してHTML5アップローダーに似たコードをフォローしています。
データはjqueryで変換されますが、サーバーに何も送信されておらず、エラーは生成されません。
$('#formupload').on('submit', function(e){
e.preventDefault();
var hasError = false;
var file = document.getElementById('file').files[0];
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = shipOff;
function shipOff(event) {
result = new Image();
result.src = event.target.result;
var fileName = document.getElementById('file').files[0].name;
$.post('test.php', { data: result, name: fileName });
}
PHPコード
<?php
$data = $_POST['data'];
$fileName = $_POST['name'];
echo $fileName;
$fp = fopen('/uploads/'.$fileName,'w'); //Prepends timestamp to prevent overwriting
fwrite($fp, $data);
fclose($fp);
$returnData = array( "serverFile" => $fileName );
echo json_encode($returnData);
?>
大きな画像ファイルまたはFileReaderAPIが原因で問題が発生しますか?