将图像文件上传到Laravel 5.2中的用户配置文件

时间:2016-05-16 19:42:35

标签: forms laravel request

我已经阅读过帖子,我找不到解决问题的方法。我没有收到任何错误,但是当我 dd($ avatar = $ request-> file(' avatar')); 我收到一个null,我可以&# 39;不明白为什么。

我的表单

   {!! Form::model($usuario, ['method' => 'POST', 'action' => [ 'UsersController@updateAvatar',  $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() !!}

控制器

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);
}

在config / app 中 我添加了Intervention \ Image \ ImageServiceProvider :: class,以及&#39; Image&#39; =&GT;干预\图片\外墙\图片::类

我更新了作曲家文件,在json文件中我可以看到更新的文件。

我不明白为什么我在这里获得空白

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

我任何人都可以帮助我,我会apreciate :) 感谢。

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,我有解决方案。您必须添加&#39; enctype&#39; =&GT; &#34; multipart / form-data&#34; 在表单中作为属性。

表单应如下所示:

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

现在,当我执行dd()时,我会重新获取数据,并且我可以上传我的图像:)