首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提交数据,错误: Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException无消息

提交数据,错误: Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException无消息
EN

Stack Overflow用户
提问于 2018-11-27 12:57:30
回答 5查看 24.5K关注 0票数 0
代码语言:javascript
运行
复制
<form action="upload_creation" method="post">
<div class="modal-footer">
    <button type="button" class="btn btn-link" data-dismiss="modal">Cancel</button>
    <button type="submit" class="btn btn-primary">Send</button>
</div>
</form>

这是我的代码的形式,我想提交一个文件与按钮

代码语言:javascript
运行
复制
public function upload_creation(Request $request){
    $input = $request->all();
    $creation = $this->creationRepository->create($input);
    foreach($request->file('direktori_gambar') as $image)
        {
            $name=time().$image->getClientOriginalName();
            $image->move(public_path().'/public/img', $name);
            $input['pictureName']=$image->getClientOriginalName();
            $input['pictureFile']='/public/img/'.$name;
            $mediaUkm = $this->creationPictRepository->create($input);   
        }     
    return view('webgallery.desktugas')->with($this->data);

这是我在表单操作中引用的控制器

单击submit按钮后,在laravel上显示无消息错误

你知道怎么解决这个问题吗?

EN

回答 5

Stack Overflow用户

发布于 2018-11-27 13:14:43

这是位于routes/文件夹中的web.php中的路由。

首先在web.php中创建路由

web.php

代码语言:javascript
运行
复制
Route::post('upload-creation', 'CreationController@newCreation')->name('upload-creation');

并在表单中使用路由名称对文件提交进行操作

代码语言:javascript
运行
复制
<form action="{{route('upload-creation')}}" method="post">
{{ csrf_field() }}
<div class="modal-footer">
    <button type="button" class="btn btn-link" data-dismiss="modal">Cancel</button>
    <button type="submit" class="btn btn-primary">Send</button>
</div>
</form>
票数 0
EN

Stack Overflow用户

发布于 2018-11-27 13:17:06

您在模板的<form>中使用哪种方法?

如果路由是post() (就像在您的路由中一样),那么您还需要在表单中使用POST作为方法。

如果您在<form>-Tag中有POST as方法,请查看是否有一个名为_method的隐藏输入字段。

更多详细信息请点击此处https://laravel.com/docs/5.5/routing#form-method-spoofing

票数 0
EN

Stack Overflow用户

发布于 2018-11-27 13:19:44

您需要在表单中添加隐藏输入,以包含您的csrf令牌。

Laravel 5.6,5.7

代码语言:javascript
运行
复制
<form action="upload_creation" method="post">
    @csrf
    <div class="modal-footer">
        <button type="button" class="btn btn-link" data-dismiss="modal">Cancel</button>
        <button type="submit" class="btn btn-primary">Send</button>
    </div>
</form>

如需参考,请访问Documentation

对于较早版本的laravel,语法略有不同:

代码语言:javascript
运行
复制
{{ csrf_field() }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53492998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档