作成してキャンバスに配置した画像を保存しようとしています。次のものがあります。
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>
Jクエリ:
$(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 クリック時に非表示フィールドに入力されていません。
私は何が欠けていますか?