如何解决“此路由不支持GET方法。受支持的方法:POST。”

时间:2019-07-02 19:21:39

标签: php mysql database laravel

我正在尝试使用base_64代码在数据库中发布图像。但是我得到“此路由不支持GET方法。受支持的方法:POST。”。 我究竟做错了什么?

我已经尝试删除路由“ Route :: get('/ image','ImageController @ create');”。

我还尝试更改路由“ Route :: post('/ imagepost','ImageController @ store');“路线::得到。 但这一切似乎都失败了。

我的路线:

Auth::routes();
Route::get('/image', 'ImageController@create');
Route::post('/imagepost', 'ImageController@store');
Route::resource('/image', 'ImageController');
Route::get('/image/{id}', 'ImageController@showImage');

我在ImageController中的存储功能:

public function store(Request $request)
{
    $image = new Image;
    $file = $request['image'];
    $img = base64_encode($file);
    $image->image = $img;
    Auth::user()->images()->save($image);


    return Redirect('/image');
}

我上传和发布图片的刀片服务器

@if(Auth::check())
    <form id="image" type="POST" name="image" action="/imagepost">
        @csrf
        <input type="file" name="image" />
        <input type="submit" name="submit" />
    </form>
@else

您需要更多代码吗?

我希望图像位于数据库中,但实际上显示错误消息“此路由不支持GET方法。受支持的方法:POST”。

2 个答案:

答案 0 :(得分:1)

您的表单标签有误。要设置方法,您应该使用method属性,而不是type

<form id="image" method="POST" name="image" action="/imagepost">
    @csrf
    <input type="file" name="image" />
    <input type="submit" name="submit" />
</form>

答案 1 :(得分:-1)

您的表单标签有误。要设置方法,您应该使用method属性,而不是输入entr并使用enctype="multipart/form-data"进行文件上传:

<form id="image" method="POST" action="/imagepost" enctype="multipart/form-data">
        @csrf
        <input type="file" name="image" />
        <input type="submit" name="submit" />
    </form>