2016-04-21 14 views
0

Ich benutze Laravel und Intervention, um einen Datei-Upload vom Benutzer zu behandeln, habe ich Intervention mit Composer installiert, aber wenn ich versuche, einige seiner Funktionen zu verwenden, bekomme ich diese Fehlermeldung Class 'Intervention\Image\Facades\Image' not found Ich habe überprüft meine app.php Datei und ich habe die richtigen Codezeilen-Aliase und Anbieter hinzugefügt, aber jetzt bin ich mir nicht sicher, was das ProblemKlasse Bild nicht gefunden, wenn die Intervention

meine Funktion Hier wird

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]); 
    } 

Antwort

0

Sie ist auch importieren müssen, um es an Der Anfang der Datei nach dem Namespace. Da Sie sagen, dass Sie die Fassade eingerichtet haben, alles was Sie tun müssen ist:

use Image; 
+0

I Verwendung Intervention \ Bild \ Fassaden \ Bild anzog; habe gerade versucht, was du gesagt hast, und ich bekomme Class 'Image' nicht gefunden – Joey93

+0

Das ist eine wirklich dumme Frage, aber es muss gefragt werden - sind Sie sicher, dass das Paket tatsächlich installiert wurde, und dass Composer nicht nur aktualisiert composer.json Datei? –

0

hinzufügen Fassade und Anbieter wie im documentation beschrieben. Führen Sie dann den Befehl aus.

Dann use Image Ihre Klasse hinzuzufügen, oder es wie folgt verwendet werden:

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

Ich habe dies getan, aber immer noch nichts das einzige, was ich aus der Dokumentation sehen kann, ist, dass ich keine image.php Datei in meinem Config-Ordner habe, aber ich benutze Laravel 5.2 – Joey93

+0

Versuchen Sie diesen Befehl aus der Dokumentation: 'php artisan vendor : publish --provider = "Intervention \ Image \ ImageServiceProviderLaravel5" '- Dieser Befehl sollte die Konfigurationsdatei in den Ordner' config' kopieren. –

+0

Danke, ich habe das getan, aber ich bekomme nichts zum Tag [] – Joey93