我正在尝试使用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”。
答案 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>