使用文件上传laravel进行表单更新

时间:2016-12-15 19:03:40

标签: php laravel laravel-5.1

我在更新表单和输入文件方面遇到了一些问题。这是我正在使用的。

我在laravel 5.1中有一个表单,它有一个post方法和一个隐藏的' Patch'方法。这样可以更新表单中的字段。但是,当它介绍:

<input type="file" id="profile_picture" name="image_url" />

进入表格,我得到了:

MethodNotAllowedHttpException in RouteCollection.php line 218:

laravel错误。我试过改变

 <input type='hidden' name='_method' value='PATCH'>

到PUT,它仍然不喜欢它。

我的表单如下:

<form action='{{url("profiles/$user->id")}}' method="post" class="form-horizontal" enctype="multipart/form-data">

路由资源如下所示:

Route::resource('profiles', 'ProfilesController');

我无法弄清楚我在这里缺少什么......非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我认为这与您在&#34;操作&#34;中输入的确切路线有关。参数与配置文件控制器的更新方法匹配。

尝试更改

action'{{url("profiles/$user->id")}}'

action='{{ route("profiles.update", $user->id) }}'

此外,您可以使用Documentation On sysvar_auto_increment_increment来简单地打开和关闭表单。

答案 1 :(得分:0)

对于POST Request类型,您需要将CSRF令牌与表单数据一起发送。如果您在视图中使用laravel刀片模板,则可以使用

{{ csrf_field() }}

转换为

<input type="hidden" name="_token" value={{ csrf_token() }}

请参阅documentation