在Laravel中上传图像时无法创建缩略图

时间:2017-10-03 12:47:22

标签: php laravel-5

我试图在上传时创建图片缩略图。问题是缩略图根本没有创建。也不保存在数据库中。

这是我在我的功能中添加的内容

    $image = $request->file('image');

    if( $image && $image->isValid()){

        $imagename = str_random(20).'.'.$image->getClientOriginalExtension(); 

        $destinationPath = public_path('/uploads');
        $thumb_img = Image::make($image->getRealPath())->resize(100, 100);
        $thumb_img->save($destinationPath.'/'.$imagename,80);

        $image->move($destinationPath, $imagename);                    
    }

    $item->image = $filename;
    $item->image_thumb = $thumb_img;

它只保存原始图像两个地方 - uploads目录和数据库,但没有任何关于缩略图。

我正在使用干预套餐。

1 个答案:

答案 0 :(得分:0)

由于您两次覆盖相同的图像,因此无法保存。看看你有什么:

首先,您创建thumbnail并将其保存到/uploads

在此之后,您将原件保存到具有相同名称的同一目录中,例如覆盖拇指。

您只需要为缩略图指定不同的名称:

$thumb_img = Image::make($image)->resize(100, 100)->save($destinationPath.'/thumb_'.$imagename, 80);

注意拇指thumb_ ...

的前缀