我在下面发布的文件是从jQuery中获取的。
它返回编码数据(带有问号符号和全部)。我甚至没有回应数据或任何东西。
我发给客户端的唯一东西是json_encode。 json_encode数据位于编码数据之后
当我不调用我的base64_extension函数时,一切正常。
EDIT
代码不再吐出编码数据。但是,该功能返回4(不是图像)。我想了解原因。
function base64_extension($base64)
{
$base64 = str_replace("data:image/png;base64,", "", $base64);
$base64 = imagecreatefromstring(base64_decode($base64));
if (!$base64) {
return 0; /* Not image */
}
if (imagepng($base64, "tmp.png")) {
imagedestroy($base64);
unlink('tmp.png');
return 1;
} else if (imagejpeg($base64, "tmp.jpg")) {
imagedestroy($base64);
unlink('tmp.jpg');
return 2;
} else if (imagegif($base64, "tmp.gif")) {
imagedestroy($base64);
unlink('tmp.gif');
return 3;
} else {
return 4; /* Not image */
}
}
这就是功能,这是其余部分:
echo json_encode(array("status" => "success", "dreamID" => $data['dreamId'], "mime" => base64_extension($_POST['dream_pic'])));
mime返回1.因此该函数似乎有效。不知道为什么一堆编码数据会返回到ajax。谢谢!