我已经能够使用.ajax()和php保存画布图像数据,但不能保存在蛋糕中。我做过的方式如下所示。我有一个运行,当用户点击一个JavaScript的形式“提交”按钮制作画布绘制后:如何在cakephp中保存HTML5画布图像?
var formdata = $("form").serialize();
var data = document.getElementById("canvasElement").toDataURL();
formdata += "&img=" + data;
$.ajax({
type: "POST",
url: "process.php",
data: formdata,
success: function() {
$('body').prepend('<div class="alert">Your bit of data was successfully saved.</div');
$('.alert').delay(2000).slideUp('slow');
},
error:function (xhr, ajaxOptions, thrownError){
alert("Error Status: " + xhr.status + " Thrown Errors: "+thrownError);
}
然后process.php处理图像数据,并将其保存到一个文件中。这是显着的部分:
$img = $_POST['img'];
// remove header information that's sent with the encoded data
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = "images/" . uniqid() . '.png';
这一切都如我所愿。我怎么能在cakephp框架中做到这一点?我已经阅读了一个常规的蛋糕表单提交的地方,你可以使用Js helper来提交一个像这样的AJAX提交: echo $ this-> Js-> submit('Save'); 是否有参数可以传递给提交函数,让我保存图像数据?有没有更好的办法?