【问题标题】:Upload image file to a user profile in Laravel 5.2将图像文件上传到 Laravel 5.2 中的用户配置文件
【发布时间】:2016-05-16 19:42:34
【问题描述】:

我已阅读大量帖子,但找不到解决问题的方法。我没有收到任何错误,但是当我 dd($avatar = $request->file('avatar')); 我收到 null 并且我不明白为什么。

我的表单

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

在配置/应用中 我添加了 Intervention\Image\ImageServiceProvider::class 和'Image' => Intervention\Image\Facades\Image::class

我更新了 composer 文件,在 json 文件中我可以看到更新后的文件。

我不明白为什么我在这里得到一个空值

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

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

【问题讨论】:

    标签: forms laravel request


    【解决方案1】:

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

    表格应如下所示:

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

    现在我在执行 dd() 时接收数据,我可以上传我的图像:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 2017-01-06
      相关资源
      最近更新 更多