var formData = new FormData();
//formData.append("username", "Larry");
//formData.append("accountnum", 123456);
// Could also get a ref to the File obj from dnd from the desktop.
formData.append("afile", this.files[0]);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'handle_file_upload.php', true);
xhr.send(formData);
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var resp = JSON.parse(this.responseText);
var image = new Image();
image.src = resp.dataUrl;
document.body.appendChild(image);
}
};
<?php
$fileName = $_FILES['afile']['name'];
$fileType = $_FILES['afile']['type'];
$fileContent = file_get_contents($_FILES['afile']['tmp_name']);
$dataUrl = 'data:' . $fileType . ';base64,' . base64_encode($fileContent);
echo json_encode(array(
'name' => $fileName,
'type' => $fileType,
'dataUrl' => $dataUrl,
'username' => $_REQUEST['username'],
'accountnum' => $_REQUEST['accountnum']
));
?>