我在更新表单和输入文件方面遇到了一些问题。这是我正在使用的。
我在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');
我无法弄清楚我在这里缺少什么......非常感谢任何帮助。
答案 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。