Morning People,我似乎无法修复错误,我目前将base64字符串传递给我的image intervention api并尝试将其保存到公共目录。
错误
错误: {类型:干预\图片\异常\ InvalidImageDataStringException, 消息:,...}文件: “/home/celeb/public_html/dev/vendor/intervention/image/src/Intervention/Image/Image.php” line:1968消息:“”类型: “干预\图片\异常\ InvalidImageDataStringException”
我传递给Image :: make - >的数据字符串http://pastebin.com/BGbUeZhr
代码
public function upload(){
$fileName = Input::get('name');
$explode = explode('.',$fileName);
$extension = strtolower(end($explode));
$img = Image::make(base64_decode(Input::get('data')));
$fileName = "profiles/".md5(time()).'.'.$extension;
$path = public_path($fileName);
if($img->save($path)){
echo "Image Added";
}
}
没有base64_decode错误。
{error:{type:Intervention\Image\Exception\ImageNotFoundException,…}}
error: {type:Intervention\Image\Exception\ImageNotFoundException,…}
file: "/home/celeb/public_html/dev/vendor/intervention/image/src/Intervention/Image/Image.php"
line: 198
message: "Image file (data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8AAAAIcCAYAAAA5Xcd7AAAgAElEQVR4Xuydh0MUWRLG30RyRgEJKmDOYYN39//f7a5uNOtG3eQqihInXn31uprHiCIyzEzPfG+vrloYpru/Hob5daVUVZbjogJUoCkKPH/+3N27dy+2x48fuxcvXsS2tLTk6vErmkqlnUtlHHxKvPzjrfOtVsuyr7Jz6itN0YM7pQJUgApQgYNVIJPpddnckMvmh9Wns/0uncrK34acS6XhszscgP+bkUrBp+Rv..
答案 0 :(得分:1)
不解码字符串,图像干预需要图像的base64编码字符串来制作图像。查看here以获取源参数。
参数是;
从中创建图像的来源。该方法响应以下输入类型:
URL
图片(必须启用allow_url_fopen)。Binary
图片数据。Data-URL
编码图像数据。Base64
编码图像数据。gd
的PHP资源。 (使用GD驱动程序时)Imagick
实例(使用Imagick驱动程序时)Intervention\Image\Image
instance SplFileInfo
instance(通过Symfony\Component\HttpFoundation\File\UploadedFile
处理Laravel文件上传)编辑:
data:image/png;base64,
不应该在那里;
使用;
$image_str = Input::get('data');
$array = explode(',', $image_str);
Image::make($array[1]);