我正在尝试保存创建并放置在画布中的图像,我有以下内容:
html:
<canvas id="example" class="test" style="width:600px;" data-id="0"></canvas>
<form name="saveForm" method="post">
<input id="save" type="submit" value="save">
<input type="hidden" id="imgData" name="imgData" value="">
</form>
查询:
$(document).on("click", "#save", function() {
document.getElementById('imgData').value = canvas.toDataURL('image/png');
document.forms["saveForm"].submit();
});
PHP:
if($_POST['imgData']){
// echo "here"; die; // tried this but not firing so no data getting to hidden field
$upload_dir = '/home/mydir/public_html/pages/test/imgEdit/';
$img = $_POST['imgData'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = $upload_dir."image_name.png";
$success = file_put_contents($file, $data);
}
但它根本不起作用,没有任何反应,检查员也没有错误。很明显,从 PHP 中的回声测试来看,图像数据没有填充 jquery 单击时的隐藏字段。
我错过了什么?