在RouteCollection.php第219行中的Laravel 5 MethodNotAllowedHttpException

时间:2016-05-04 19:43:26

标签: php laravel exception laravel-5 routing

我正在尝试在Laravel 5中制作图像上传器,但我很难得到这个错误:

  

RouteCollection.php第219行中的MethodNotAllowedHttpException

什么可能导致这个问题?

形式:

<form name="upload_image" method="post" action="{{URL::route('uploadImage')}}">
<input type="file" accept="image/*">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" name="submit">

routes.php文件

Route::post('uploadImage', [
    'as' => 'uploadImage',
    'uses' => 'HomeController@uploadImage'
]);

HomeController.php

public function uploadImage() {
    if (Auth::check()) {
        if (Auth::user()->admin == 1) {
            $image = Input::get('image');
            $filename  = time() . '.' . $image->getClientOriginalExtension();
            $path = public_path('articleImages/' . $filename);
            Image::make($image->getRealPath())->resize(600, 400)->save($path);
            return view('admin.uploadImage')->with('path', $path);
        }
        return view('/');
    }
    return view('/');
}

谢谢。

3 个答案:

答案 0 :(得分:1)

更改网址::路线

<form name="upload_image" method="post" action="{{route('uploadImage')}}">

答案 1 :(得分:0)

首先,您需要输入元素的名称 像这样:

<form name="upload_image" method="post" action="{{URL::route('uploadImage')}}">
<input name="image" type="file" accept="image/*">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" name="submit">

你可以写下这样的路线的第二件事:

Route::post('uploadImage','HomeController@uploadImage');

答案 2 :(得分:0)

  1. 使用Laravel 5,您必须使用{{ route('uploadImage') }}而不是{{URL::route('uploadImage')}},因为Laravel不再使用网址提供程序。

  2. 您忘记在表单中添加enctype="multipart/form-data"了吗?