如何修复Laravel中Dropzone的错误404

时间:2019-12-07 21:09:02

标签: php laravel laravel-5 dropzone

我想为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();
    }

3 个答案:

答案 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();
}