2016-05-16 15 views
0

Ich habe Töne des Beitrags gelesen und ich kann den Weg nicht finden, mein Problem zu lösen. Ich erhalte keine Fehler, aber wenn ich dd ($ avatar = $ request-> Datei ('Avatar')); Ich empfange eine Null und ich kann nicht verstehen warum.Bilddatei zu einem Benutzerprofil in Laravel hochladen 5.2

Meine Form

{!! Form::model($usuario, ['method' => 'POST', 'action' => [ '[email protected]', $usuario->id ] ]) !!} 
     <div class="form-group"> 
     {!! Form::label('avatar', 'Sube un nuevo avatar:') !!} 
     {!! Form::file('avatar') !!} 
     </div> 
     <div class="form-group"> 
     {!! Form::submit('Actualizar avatar', ['class' => 'btn btn-primary form-control']) !!} 
     </div> 
    {!! Form::close() !!} 

Der Controller

public function updateAvatar (Request $request, $id) 
{ 

    dd($avatar = $request->file('avatar')); 

    if($request->hasFile('avatar')) 
    { 
     $avatar = $request->file('avatar'); 
     $filename = time() . '.' . $avatar->getClientOriginalExtension(); 
     Image::make($avatar)->resize(300, 300)->save(public_path('/uploads/avatars/' . $filename)); 
     $usuario = User::findOrFail($id); 
     $usuario->avatar = $filename; 
     $usuario->save(); 
    } 

    return redirect('usuarios/' . $id); 
} 

In der config/app I Intervention \ Bild \ ImageServiceProvider :: Klasse hinzugefügt, = and'Image‘ > Intervention \ Image \ Facades \ Image :: Klasse

Ich aktualisierte Composer-Datei und in der JSON-Datei kann ich die aktualisierte Datei sehen.

Ich verstehe nicht, warum ich ein Null hier

dd($avatar = $request->file('avatar')); 

bekomme ich jemand mir helfen kann ich :) Dank apreciate wird.

Antwort

0

Ich habe die Lösung, wenn jemand das gleiche Problem hat. Sie müssen 'enctype' => "multipart/form-data" in der Form als Attribut hinzufügen.

Das Formular sollte wie hier aussehen:

{!! Form::model($usuario, ['method' => 'POST', 'enctype' => "multipart/form-data" , 'action' => [ '[email protected]', $usuario->id ] ]) !!} 

Jetzt habe ich Daten recive, wenn ich die dd() ausführen, und ich kann meine die Bilder hochladen :)