Изображение класса не найдено при использовании вмешательства

Я использую Laravel и Intervention для обработки загрузки файла от пользователя, я установил Intervention с помощью Composer, но когда я пытаюсь использовать некоторые из его функций, я получаю это сообщение об ошибке Class 'Intervention\Image\Facades\Image' not found Я проверил свой файл app.php и добавил правильные строки кода для псевдонимов и провайдеров, но теперь я не уверен, в чем проблема

Вот моя функция

public function postAvatarUpload(Request $request)
    {
         $this->validate($request, [
            'image' => 'required|image|max:3000|mimes:jpeg,jpg,png',
        ]);
        $user = Auth::user();

        $usersname = $user->username;
       $file = $request->file('image');
       // $ext = $file->getClientOriginalExtension();
        $ext= Input::file('image')->getClientOriginalExtension();
        $filename = $usersname . '.' . $ext;
        if (Storage::disk('public')->has($usersname)) {
            Storage::delete($usersname);
        }
           Storage::disk('public')->put($filename, File::get($file));

           $path = public_path('app/public/'. $filename);
            Auth::user()->update([
                'image' => $path,
            ]);
        $resizedImg = Image::make($path)->resize(200,200);
       // $ext = $file->getClientOriginalExtension();

        return redirect()->route('profile.index', 
                ['username' => Auth::user()->username]);
    }

person Joey93    schedule 21.04.2016    source источник


Ответы (2)


Вам также необходимо импортировать его в начало файла после пространства имен. Поскольку вы говорите, что настроили фасад, все, что вам нужно сделать, это:

use Image;
person Joel Hinz    schedule 21.04.2016
comment
Я использовал Intervention\Image\Facades\Image; только что попробовал то, что вы сказали, и я получаю, что класс «Изображение» не найден - person Joey93; 21.04.2016
comment
Это действительно глупый вопрос, но его нужно задать - вы уверены, что пакет действительно был установлен, и что Composer не просто обновил файл composer.json? - person Joel Hinz; 21.04.2016

Добавьте фасад и поставщика, как описано в документации. Затем запустите команду composer dumpauto -o.

Затем добавьте use Image в свой класс или используйте его так:

$resizedImg = \Image::make($path)->resize(200,200);
person Alexey Mezenin    schedule 21.04.2016
comment
Я сделал это, но все еще ничего, единственное, что я вижу из документации, это то, что у меня нет файла image.php в моей папке конфигурации, но я использую Laravel 5.2 - person Joey93; 21.04.2016
comment
Попробуйте эту команду из документации: php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5" - эта команда должна скопировать файл конфигурации в папку config. - person Alexey Mezenin; 21.04.2016
comment
Спасибо, я сделал это, но мне нечего возвращать для тега [] - person Joey93; 21.04.2016