我正在使用以下ajax / jquery代码将html5 canvas保存为png:
var canvas = document.getElementById("canvas");
var data = canvas.toDataURL("image/png");
$.ajax({
url: "saveAsImage.php",
data:{data:data},
type:"POST",
success:function(r){
$("#result").html(r);
}
});
PHP代码使用以下php代码从发布的数据创建.png文件:
<?php
if(isset($_POST['data'])){
$img = $_POST['data'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$fileData = base64_decode($img);
$fileName = date('Ymdhisa').'.png';
file_put_contents("img/".$fileName, $fileData);
echo('<hr>Created Image is: <br><img src="img/'.$fileName.'">');
}
&GT;
现在,实际的问题是我的web服务器不支持base64_encode()和base64_decode()函数,因此,我使用以下方法代替base64_decode()方法并注释掉base64_decode()方法
//$fileData = base64_decode($img);
$fileData = rawurldecode($img);
无论如何,我能做到这一点吗?