Я пытаюсь использовать ajax для вызова другой страницы php, в которой сохраняется изображение, снятое с веб-камеры. Хотя я использую следующий код, я не получил никакой ошибки, но вместо сохранения изображения он сохраняет пустое изображение (белое).
Код ajax:
function ajaxPOSTTest() {
try {
// Opera 8.0+, Firefox, Safari
ajaxPOSTTestRequest = new XMLHttpRequest();
} catch (e) {
// Internet Explorer Browsers
try {
ajaxPOSTTestRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxPOSTTestRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
ajaxPOSTTestRequest.onreadystatechange = ajaxCalled_POSTTest;
var url = "storeImage.php";
var params = "image="+srcI;
ajaxPOSTTestRequest.open("POST", url, true);
ajaxPOSTTestRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxPOSTTestRequest.send(params);
}
//Create a function that will receive data sent from the server
function ajaxCalled_POSTTest() {
if (ajaxPOSTTestRequest.readyState == 4) {
document.getElementById("snapshot").innerHTML = ajaxPOSTTestRequest.responseText;
}
}
** когда srcI - это sr c изображения и storeImage. php - это страница php, на которую ajax отправляет информацию.
Код php:
<?php
$img = $_POST['image'];
$folderPath = "upload/";
$image_parts = explode(";base64,", $img);
$image_type_aux = explode("image/", $image_parts[0]);
$image_type = $image_type_aux[1];
$image_base64 = base64_decode($image_parts[1]);
$fileName = 'camera_installation.png';
$file = $folderPath . $fileName;
file_put_contents($file, $image_base64);
print $img;
?>
Когда я отлаживаю его, php возвращает sr c изображения, поэтому ajax работает, но изображение все еще сохраняется как пустое.
Заранее спасибо .