无法从给定的二进制数据初始化

Unable to init from given binary data

我正在尝试使用 Intervention Image 保存由 base64 编码的图像,laravel-5 异常告诉我 "Unable to init from given binary data"。 任何人都可以帮忙吗?

$png_url = "user-".time().".png";
$path = "/public/".$png_url;
Image::make(base64_encode($request['image']))->save($path);
<?php
$png_url = "user-".time().".png";
$path = "/public/".$png_url;
$base=base64_decode($request['image']);
Image::make($base)->save($path);
?>

如果您的代码在您的本地主机上运行良好并且您上传到实时服务器并且您遇到这样的错误,它有时是由 windows 服务器和 ubuntu/etc 服务器上的路径问题引起的。

在我的例子中,我将路径中的所有 \ 更改为 /

即:

Image::make(base64_decode($request['profile_pic']))->save(public_path('cdn\profile_pictures\/'.$imageName))->destroy();

Image::make(base64_decode($request['profile_pic']))->save(public_path('cdn/profile_pictures//'.$imageName))->destroy();

希望这对某人有所帮助...编码愉快...