Laravel Vue Dropzone.js 请求文件 return NULL

Laravel Vue Dropzone.js request file return NULL

我有问题,但我无法解决。看了很多论坛和issue,都没有解决。

问题是

$photos = $request->file('file'); return var_dump($photos);

带上NULL。我试图找到错误,但我找不到

我想在服务器和 table 中存储图像,然后它连接到另一个产品 table, 首先在输入中写入一些数据 ex。名称,类别,在其他选项卡之后使用Dropzone上传图像,并一次性保存。

我正在使用 rowanwins dropzone。

我的....blade.php

<form method="POST" enctype="multipart/form-data" action="{{ route('product.createnew') }}">

// Other Products inputs ..

//Uploads
<vue-dropzone 
    ref="myVueDropzone" 
    id="dropzone"
    :options="dropzoneOptions">
</vue-dropzone>
// / form and scripts section


 <script>
var url = "{{ route('product.createnew') }}";
console.log(url);
var app = new Vue({
    el: '#app',
    data: function () {
        return {
            dropzoneOptions: {
                url: url,
                thumbnailWidth: 150,
                maxFilesize: 2,
                maxFiles: 2,
                acceptedFiles: ".jpeg,.jpg,.png,.gif",
                autoDiscover : true,
                clickable : true,
                uploadMultiple :true,
                addRemoveLinks:true,
                headers: {
                    "X-CSRF-TOKEN": document.head.querySelector("[name=csrf-token]").content
                },

            },
            radioButton: '0',
        }
  },
    methods: {
        deleteDropFile(index) {
            this.dropFiles.splice(index, 1)
        }, 
    }
});

我的创建控制器

public function create(Request $request)
{   
    $validator = Validator::make($request->all(), [
      //Other products input
        'file' => 'nullable|mimes:jpeg,jpg,png,gif|max:2048',

    ]);

    //$products = new Products 
    //$products->save();

   $photos = $request->file('file');
    return var_dump($photos);

    if (!is_array($photos)) {
        $photos = [$photos];
    }
    for ($i = 0; $i < count($photos); $i++) {
        $photo = $photos[$i];
        $savename = sha1(time() . '.' . $request->get('name'))."_$i";

        $images = new ProductImages ([
            'name' => $request->get('name'),
            'post_id'=> $products->id,
            'path'=> public_path('uploads') . '/' . $savename,
            'main'=> 0,
        ]);
        $images->save();

        Image::make($photo)
            ->resize(250, null, function ($constraints) {
                $constraints->aspectRatio();
            })
            ->save(public_path('uploads'). '/' . $savename);
        $photo->move(public_path('uploads'),  $savename);
    }
    return redirect()->back();
}

我的路线

Route::group(['prefix' => 'product'], function () {
    Route::get('/create', 'ProductController@index')->name('product.create'); //View
    Route::post('/createnew', 'ProductController@create')->name('product.createnew');   //Post
});

毕竟我发现了问题所在。 是验证

        'file' => 'nullable|mimes:jpeg,jpg,png,gif|max:2048',

抛出错误。

谢谢