问题在于,把图片编码成base64字符串后,最开始的这些字符 data:image/png;base64, 直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,解决方法就是先去掉这一串字符:
function base64_to_jpeg($base64_string, $output_file) {
$ifp = fopen($output_file, "wb");
$data = explode(',', $base64_string);
fwrite($ifp, base64_decode($data[1]));
fclose($ifp);
return $output_file;
}