调用未定义的方法Intervention \ Image \ Facades \ Image :: make()

时间:2016-11-01 02:24:47

标签: laravel-5.3 intervention

我使用干预/图片从Laravel4.2升级到Laravel5.3:“^ 2.3”,

 if (Input::hasFile('logo')) {

        $path = public_path()."/assets/admin/layout/img/";
        File::makeDirectory($path, $mode = 0777, true, true);

        $image      = Input::file('logo');
        $extension  = $image->getClientOriginalExtension();
        $filename   = "logo.$extension";
        $filename_big   = "logo-big.$extension";

        Image::make($image->getRealPath())->save($path.$filename);
        Image::make($image->getRealPath())->save($path.$filename_big);

        $data['logo']   =   $filename;

    }

结果我收到了错误

Call to undefined method Intervention\Image\Facades\Image::make()

3 个答案:

答案 0 :(得分:5)

我在Laravel 5.4项目中遇到了同样的问题。我偶然发现了link

有助于解决问题。这是提供的修复

在配置/应用更改'别名'来自

的图片
  'Image' => Intervention\Image\Facades\Image::class,

'Image' => Intervention\Image\ImageManagerStatic::class,

然后在你的控制器标题中添加

use Image;

答案 1 :(得分:1)

确保 在

的config / app更新提供程序中

Intervention\Image\ImageServiceProvider::class

并使用

更新别名
'Image' => Intervention\Image\Facades\Image::class,

答案 2 :(得分:0)

  1. 在您的 config/app.php 文件中,添加

Intervention\Image\ImageServiceProvider::class,

在提供者数组中添加

'Image' => Intervention\Image\Facades\Image::class,

在别名数组中。

  1. 运行

php 工匠配置:缓存

命令。

  1. 在您的控制器中添加

使用图片;

在类定义之前。

  1. 现在您可以根据需要在控制器函数中使用 Image 类。假设,

$imageHeight = Image::make($request->file('file'))->height();