我知道这个问题已经很多了,但是没有一个解决方案看起来对我有用。所以,我正在使用 Kinetics.js 并且我已经构建了一个画布应用程序,人们可以在其中绘制他们的图像(非常简单)。这个想法是,当图像准备好时,用户将转到下一页,但我需要将他的绘图保存为服务器上的文件。
这是我的代码: JavaScript:
$('#someButton').click(function(){
hiddenCanvas.toDataURL({
callback:function(dataUrl){
$.ajax({
type: "POST",
url: "scripts/imgsave.php",
data: {image: dataURL}
});
}
});
window.location = 'scripts/imgsave.php';
)};
和 PHP:
if ( isset($_POST["image"]) && !empty($_POST["image"]) ) {
$dataURL = $_POST["image"];
$parts = explode(',', $dataURL);
$data = $parts[1];
$data = base64_decode($data);
$fp = fopen('../images/test.png', 'w');
fwrite($fp, $data);
fclose($fp);
}
问题是,无论我做什么,PHP 都会在我的服务器上保存空文件。所以我猜 dataURL 没有正确发送。这里可能是什么问题?