2016-04-21 2 views
0

Я использую 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]); 
    } 

ответ

0

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

use Image; 
+0

Я укладывал использование Intervention \ Image \ \ Фасады изображение; просто попробовал, что вы сказали, и я получаю Class 'Image' not found – Joey93

+0

Это действительно глупый вопрос, но его нужно спросить - вы уверены, что пакет действительно установлен, и что Composer не просто обновил Файл composer.json? –

0

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

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

$resizedImg = \Image::make($path)->resize(200,200); 
+0

Я сделал это, но все же ничего, единственное, что я вижу из документации, это то, что у меня нет файла image.php в моей папке config, но я использую Laravel 5.2 – Joey93

+0

Попробуйте эту команду из документации: 'php artisan vendor : publish --provider = "Intervention \ Image \ ImageServiceProviderLaravel5" '- эта команда должна скопировать файл конфигурации в папку' config'. –

+0

Спасибо, что я сделал это, но я ничего не могу вернуть для тега [] – Joey93

Смежные вопросы