首页 文章

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

提问于
浏览
0
<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>

这是我的表单代码,我想提交一个带按钮的文件

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

这是我在表格Action中提到的控制器

在我单击提交按钮后,它出现在laravel上没有消息错误

任何想法如何解决这个问题?

4 回答

  • 0

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

    如果路线是 post() (就像它在您的路线中)那么您还需要 POST 作为表单中的方法 .

    如果您在 <form> -Tag中使用POST作为方法,请查看是否有名为_method的隐藏输入字段 .

    更多细节https://laravel.com/docs/5.5/routing#form-method-spoofing

  • 0

    您需要向表单添加隐藏输入以包含csrf令牌 .

    Laravel 5.6, 5.7

    <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>
    

    资料来源:https://laravel.com/docs/5.7/csrf

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

    {{ csrf_field() }}
    
  • 0

    这是您在 web.php 位于 routes/ 文件夹中的路线 .

    首先在web.php中创建路由

    web.php

    Route::post('upload-creation', 'CreationController@newCreation')->name('upload-creation');
    

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

    <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

    在表单标记示例中使用enctype =“multipart / form-data”:

    也不要忘记添加{{csrf_field()}}

相关问题