我有一个用base64字符串编码的图像,我需要将它作为图像保存在文件夹中。 这是代码:
$img = Input::get('myField');
define('UPLOAD_DIR', 'C:/wamp/www/laravel/dentalRoyale/public/assets/profile/');
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
是的,它保存在个人资料文件夹中。但我无法打开我急需的图像。我怎样才能解决这个问题?感谢
答案 0 :(得分:0)
首先,你绝对肯定这是一个png吗?
其次,不需要$img = str_replace(' ', '+', $img);
。如果有的话,如果字符串是uri编码的话你需要反过来。
尝试评论该行并检查它实际上是否为PNG。
答案 1 :(得分:0)
问题已解决。现在可以查看图像。我忘记将此str_replace('data:image/png;base64,', '', $img)
更改为此str_replace('data:image/jpeg;base64,', '', $img),
,因为我的图片类型为jpeg。