2016-08-30 83 views
1

我想使用教程here上傳圖像。我完全按照視頻中的說明進行操作,但是一旦點擊了提交按鈕,它就會將我帶回到配置文件頁面,並且圖像保持不變,數據庫中沒有任何更改或上傳到指定的文件夾。無法在Laravel 5.2中使用干預圖像上傳圖像

這裏是我的routes.php

Route::get('profile', '[email protected]'); 
Route::post('profile', '[email protected]'); 

這裏是刀片文件:

<div class="row"> 
    <div class="col-sm-4"> 
     <div class="text-align-center"> 
      <img class="img-circle" src="/uploads/avatars/{{ Auth::user()->avatar }}" alt="64x64" style="height: 112px; border-radius:50%;"> 
     </div> 
     <br> 
     <br> 
     <div class="text-align-center"> 
      <form enctype="multipart/form-data" action="{{ url('/profile') }}" method="POST"> 
      <h5>Update Profile Image</h5> 
      <input type="file" name="avatar"> 
      <input type="hidden" name="_token" value="{{ csrf_token() }}"> <br>   
      <input type="submit" class="pull-left btn btn-sm btn-primary"> 
      </form> 
     </div> 
</div> 

這裏是控制器:

public function showProfile(){ 

     return view('profile', array('user' => Auth::user())); 
    } 

    public function updateAvatar(Request $request){ 
     //Handle the user upload of avatar 
     if($request->hasFile('avatar')){ 
      $avatar = $request->file('avatar'); 
      $filename = time() . '.' . $avatar->getClientOriginalExtension(); 
      Image::make($avatar)->resize(200, 200)->save(public_path('/uploads/avatars/' . $filename)); 
      $user = Auth::user(); 
      $user->avatar = $filename; 
      File:: 
      $user->save(); 
     } 

     return view('profile', array('user' => Auth::user())); 
    } 

我添加一個字段avatarusers表。

+1

嘗試通過放置裸片('QA')進行調試; hasFile內部的聲明。如果死()沒有執行你的輸入沒有文件。如果調用die(),請嘗試move_uploaded_file()---> http://php.net/manual/en/function.move-uploaded-file.php - 查看是否可以上傳圖像 –

+0

它成功執行。用die語句 – omrakhur

+0

確定...還要確保你已經使用Image;爲此課程設置 –

回答

0
public function update_avatar(Request $request){ 

    // Handle the user upload of avatar 
    if($request->hasFile('avatar')){ 
     $avatar = $request->file('avatar'); 
     $filename = time() . '.' . $avatar->getClientOriginalExtension(); 
     $avatar->move('/uploads/avatars', $filename);  
     $user = Auth::user(); 
     $user->avatar = $filename; 
     $user->save(); 
    } 

    return view('profile', array('user' => Auth::user())); 

}