我想为Laravel中带有dropzone的项目制作一个图库 但是我收到错误404 ..经常错误404发生在错误的路线上,但显然每件事都是对的...
但我收到此错误
我的表单:
{
< form action="{{url('admin/gallery/upload?='.$project->id)}}" method="post" class="dropzone dz-clickable" id="myAwesomeDropzone">
}
我的路线:
Route::post('/admin/gallery/upload', 'admin\ProjectController@upload');
我的功能
public function upload(Request $request ,$id){
$files=$request->file('file');
$name=rand()."-".$id.$files->getClientOriginalName();
$files->move('upload/gallery/'.$id.'/',$name);
$gallery=new Gallery();
$gallery->product_id=$id;
$gallery->url=$name;
$gallery->save();
}
答案 0 :(得分:0)
URL似乎与该路线不匹配。尝试在POST路由中使用变量而不是?=
语法。
表格:
< form action="{{url('admin/gallery/upload/'.$project->id)}}" method="post" class="dropzone dz-clickable" id="myAwesomeDropzone">
路线:
Route::post('/admin/gallery/upload/{id}', 'admin\ProjectController@upload');
答案 1 :(得分:0)
使用绑定并为路由设置名称,以提高编码效率和可读性。
路线:
Route::post('/admin/gallery/{project}/upload', 'admin\ProjectController@upload')->name('upload.gallery');
表格:
<form action="{{ route('upload.gallery',['project'=>$project]) }}" method="post" class="dropzone dz-clickable" id="myAwesomeDropzone">
控制器中的方法:
public function upload(Request $request ,Project $project){
$files=$request->file('file');
$name=rand()."-".$id.$files->getClientOriginalName();
$files->move('upload/gallery/'.$project->id.'/',$name);
$gallery=new Gallery();
$gallery->product_id=$project->id;
$gallery->url=$name;
$gallery->save();
}
答案 2 :(得分:0)
如果仅需要id且功能中不需要$ project对象,请执行以下操作:
路线:
Route::post('/admin/gallery/{id}/upload', 'admin\ProjectController@upload')->name('upload.gallery');
表格:
<form action="{{ route('upload.gallery',['id'=>$project->id]) }}" method="post" class="dropzone dz-clickable" id="myAwesomeDropzone">
控制器中的方法:
public function upload(Request $request ,$id){
$files=$request->file('file');
$name=rand()."-".$id.$files->getClientOriginalName();
$files->move('upload/gallery/'.$id.'/',$name);
$gallery=new Gallery();
$gallery->product_id=$id;
$gallery->url=$name;
$gallery->save();
}