所以我正在尝试将图像与表单数据一起上传到服务器。我正在使用 FileReader API 将图像转换为数据并上传到服务器。我正在使用类似于HTML5 上传器的代码使用 AJAX Jquery。
数据在 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);
?>
问题是由于大图像文件还是 FileReader API?