Dropzone.js和symfony formbuilder

Gem*_*mmi 6 javascript php formbuilder symfony

我正在尝试使用我的实体symfony formbuilder来处理dropzone.js.

如果我使用简单,一切正常 <input type="file" id="form_file" name="form[file]">

但是,如果我使用dropzone.js,我在POST中得到了这个区别: POST的区别

我该怎么办呢?

这是我的js:

Dropzone.options.myAwesomeDropzone = { 
                autoProcessQueue: false,
                uploadMultiple: true,
                parallelUploads: 25,
                maxFiles: 25,

                init: function() {
                    var myDropzone = this;

                    $("#submit-all").click(function (e) {
                                e.preventDefault();
                                e.stopPropagation();
                                myDropzone.processQueue();
                            }
                    );

                }

            }
Run Code Online (Sandbox Code Playgroud)

我的表单文件如下:

    <form id="my-awesome-dropzone" class="wizard-big dropzone" action="{{ path('add') }}" method="post"  {{ form_enctype(form) }}>
    {{ form_widget(form.name, {'attr': { 'class': 'form-control' } }) }}
    <div class="row">
        <div class="dropzone-previews"></div>
        <div class="fallback"> 
         {{ form_widget(form.file, {'attr': { 'class': 'cotam' } }) }}
        </div>
        </div>
<button type="submit" id="submit-all" class="btn">Upload the file</button>
    {{ form_rest(form) }}
    </form>
Run Code Online (Sandbox Code Playgroud)

而我的控制器:

public function addAction(Request $Request) {

        $photo = new Photo();

        $form = $this->createFormBuilder($photo)
            ->add('name')
            ->add('file')
            ->getForm();

        $form->handleRequest($Request);

        if ($form->isValid() && $Request->isMethod('POST')) {

            $em = $this->getDoctrine()->getManager();

            $em->persist($photo);
            $em->flush();

            $this->redirect($this->generateUrl('add'));
        }



        return $this->render('MyBundle::add.html.twig', array(
            'form' => $form->createView()
        ));
    }
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗?

Gem*_*mmi 6

好的,我找到了答案......尽可能简单..

您只需添加一个选项:

paramName: "form[file]"

到你的dropzone配置.