2016-08-15 4 views
1

Ich kann das Bild an der gewünschten Stelle speichern, aber ich kann es nicht anzeigen. Wenn die Seite neu geladen wird, wird das gleiche Standardbild angezeigt. Standardbild ändert sich nie zu meinem gewünschten Bild.Kann Profilbild Laravel nicht ändern

Meine Controller-Datei (UserController.php):

 public function update_avatar(Request $request) 
    { 

     if($request->hasFile('avatar')) 

     { 

      $avatar = $request->file('avatar'); 
      $filename = time(). '.' . $avatar->getClientOriginalExtension(); 
      Image::make($avatar)->save(public_path('/src/uploads/avatars/' . $filename)); 


     } 

     return redirect()->route('dashboard'); 
    } 




} 

Meine Strecke Datei:

Route::post('/dashboard',[ 
       'uses'=>'[email protected]_avatar', 

       ]); 

Meine Ansicht Datei:

<form action="/dashboard" method="post" enctype="multipart/form-data"> 
     <div id="mySidenav" class="sidenav"> 
    <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a> 

    <input type="file" name="avatar" class="btn btn-sm btn-primary col-md-5" > 

    <input type="submit" class="pull-right btn btn-sm btn-primary " value="submit"> 
    <input type="hidden" value="{{Session::token() }}" name="_token"> 
    <a href="#">Remove</a> 

    </div> 


     <div id="main"> 
<span style="font-size:30px;cursor:pointer" onclick="openNav()"><img src="download.jpg" class="img-circle img-responsive" alt="Placeholder image"></span> 
</div> 

     </form> 
+0

es sieht aus wie Sie einen Zeitstempel an den Dateinamen sind vorangestellt, also bin ich Neugierig, wie Sie das aus Ihrer Sicht beziehen –

+0

hier gehen Sie ... und keine Sorge, ich gebe die Abstimmung und das Häkchen .zu richtige Antwort..dies ist mein zweites Konto, ich bin kein Neuling ....:) –

+0

@VishwasSaxena wo genau nennst du den src des Bildes in deiner View-Datei? können Sie diesen Teil des Codes zeigen –

Antwort

0

Sind Sie nicht das hochgeladene Bild Speicher auf die Datenbank? Werden Bilder nur in den dedizierten Bilderordner hochgeladen, aber nicht in der Datenbank gespeichert? Wenn Sie möchten, können Sie dies in Ihrem Controller tun:

<?php 

     public function update_avatar(Request $request){ 
      $avatarURI = null; 
      if($request->hasFile('avatar')) { 

       $avatar  = $request->file('avatar'); 
       $filename = time(). '.' . $avatar->getClientOriginalExtension(); 
       Image::make($avatar)->save(public_path('/src/uploads/avatars/' . $filename)); 
       $avatarURI = "src/uploads/{$filename}"; 
       User::update(); 
      } 

      // YOU MAY NEED TO PERSIST THIS IN THE DATABASE 
      // TO UPDATE THE avatar: 

      $usr = new \App\User(); 
      $usr->update(['avatar' => $avatarURI, 'id'=>$userID]); //<== ID OF THE USER TO BE UPDATED... 
      return redirect()->route('dashboard', ['imgURI'=>$avatarURI, 'user'=>$usr]); 
     } 
0

ändern Benutzer mit einem Avatar-Attribut Ihren Bedarf anpassen

public function update_avatar(Request $request) 
{ 
    if($request->hasFile('avatar')) 
    { 
     $avatar = $request->file('avatar'); 
     $path = '/src/uploads/avatars/'; 
     $filename = time(). '.' . $avatar->getClientOriginalExtension(); 
     Image::make($avatar)->save(public_path($path . $filename)); 
     $request->user()->avatar = $filename; 
     $request->user()->save(); 
    } 
    return redirect()->route('dashboard'); 
} 
+0

Ich nehme keinen Benutzer in Betracht, Herr –