2016-08-30 102 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())); 

}