我正在使用 Laravel 处理一个简单的博客项目,我试图将我的创建帖子表单传递的数据存储到我的商店控制器,但它不会接受 POST 方法。即使每当我列出我的路线时,我都会看到商店路线接受 post 方法。我使用了一个 get 方法并且有效。在我尝试上传图像之前,它开始告诉我图像文件必须是图像,即使它是图像。然后我发现图像没有被表单首先传递 {{ Form::open(['action' => 'PostsController@store', 'method'=> 'GET', 'enctype' => 'multipart/form-data']) }} <div class="form-group"> {{Form::label('title', 'Title')}} {{Form::text('title' , '' , ['class'=> 'form-control', 'placeholder'=> 'this is a title place holder'])}} </div> <div class="form-group"> {{Form::label('body', 'body')}} {{Form::textarea('body' , '' , [ 'id' => 'article-ckeditor' , 'class'=> 'form-control', 'placeholder'=> 'body'])}} </div> <div class="form-group"> {{Form::file('cover_image')}} <input type="hidden" name="_method" value="POST"> </div> {{Form::submit('Submit',['class'=>"btn btn-info"])}}{{ Form::close() }}这是我的控制器 public function store(Request $request){ $this->validate($request, [ 'title' => 'required', 'body' => 'required', 'cover_image' ]); //handle file upload if($request->hasFile('cover_image')){ $image = $request->file('cover_image'); $filename = time() . '.' . $image->getClientOriginalExtension(); $location = public_path('storage/coverimages/' . $filename ); image::make($image)->resize(800, 400)->save($location); } else{ echo 'this is shit'; $filename = 'noimage.jpg'; } //create post $post = new Post; $post->title = $request->input('title'); $post->body = $request->input('body'); $post->user_id = auth()->user()->id; $post->cover_image = $filename; $post->save(); return redirect('/posts')->with('success', 'Post created');}
3 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
看这里
Form::open(['action' => 'PostsController@store', 'method'=> 'GET', 'enctype' => 'multipart/form-data'])
'method'=>'GET' 这样您的表单将作为 GET 请求而不是 POST 提交。
- 3 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消