2016-05-26 2 views
1

ich ein Foto-Upload-Formular haben, dieFilesystemAdapter konnte nicht in String umgewandelt werden Laravel

$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(); 
     $path = Storage::disk('uploads'); 

     $filename = $usersname . '.' . $ext; 

     if (Storage::disk('uploads')->has($filename)) { 
      Storage::delete($filename); 
     } 
     Storage::disk('uploads')->put($filename, File::get($file)); 

     $resizedImg = Image::make($path . DIRECTORY_SEPARATOR . $filename)->resize(200,200)->save($path . DIRECTORY_SEPARATOR . $filename); 

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

zu diesem Code geht Wenn ich diesen Code machen ausführen es gibt mir diesen Fehler

ErrorException in ProfileController.php line 71: 
Object of class Illuminate\Filesystem\FilesystemAdapter could not be converted to string 

Linie 71 Die Zeile beginnt mit $ resizedImg, aber das Foto wird im richtigen Verzeichnis gespeichert und nicht verkleinert.

I Uploads in der filesystems.php Datei wie folgt definiert

'disks' => [ 

     'uploads' => [ 
      'driver' => 'local', 
      'root' => public_path('/uploads'), 
     ], 

Antwort

1

$path Inhalt Fahrer drin, aber Sie versuchen, es als String zu verwenden, das ist das Problem. Versuchen Sie, etwas wie zu verwenden:

$path = '/uploads'; 
+1

Ah endlich, es funktioniert jetzt. Schätze die Hilfe –

Verwandte Themen