webuploader 上传图片生成base64字符串用php转码生成图片不全是什么原因

clipboard.png

我是把webuploader生成的缩略图中的src传给后端的
后端用php解密也增加了max-size但是总会出现 转码生成图片不全呃问题请问怎么办

因为我想把base64传给后端 然后生成图片返回链接和表单一起提交

不是很会用这个插件
不知道问题在哪

求指教

阅读 5.9k
3 个回答

1.解析base64数据成图片

$base64 = "data:image/bmp;base64,Qk22EgAAAAAAADYAAAAoAAAAIAAAACUAAAABACAAAAAAAIASAAASCwAAEgsAAAAAAAAAAAAA/wAA//4AAP/5AAD/9QAA//EAAP/sAAD/5wAA/+MAAP/fAAD/2gAA/9YAAP/RAAD/zQAA/8gAAP/EAAD/wAAA/7sAAP+3AAD/sgAA/64AAP+pAAD/pQAA/6EAAP+cAAD/....";

$url = explode(',' $base64);

$a = file_put_contents('./test.png', base64_decode($url[1]));//返回的是字节数

print_r($a);

2.图片转成base64数据


$str = file_get_contents('./test.png');

echo base64_encode($str);

$base64Img = "data:image/bmp;base64,Qk22EgAAAAAAADYAAAAoAAAAIAAAACUAAAABACAAAAAAAIASAAASCwAAEgsAAAAAAAAA...";


$pattern = '/\/([a-zA-Z]{3,4})\;/';

preg_match($pattern,$base64Img,$res);

$ext = $res[1];

$base64Arr = explode(',',$base64Img);

$base64Str = $base64Arr[1];
if(!is_dir('./base64IMG')) mkdir('./base64IMG');

$res = file_put_contents('./base64IMG/test.'.$ext,base64_decode($base64Str));

print_r($res);

把图片在服务器的地址返回给前端就可以了

新手上路,请多包涵

请问解决了吗,我也遇到了同样的问题 求解决方法!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题