6

I'm trying to handle dropzone.js to work correct with my entity symfony formbuilder.

Everything works properly if I'm using simple <input type="file" id="form_file" name="form[file]">

BUT if I'm using dropzone.js I get this difference in my POST: difference in POST

How I can handle it?

This is my js for it:

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

                }

            }

My form file looks like:

    <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>

And my controller:

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

Could You help me?

3
  • Have you tried setting of uploadMultiple to false? Commented Jun 13, 2015 at 8:35
  • When I set i up I have: files] => Symfony\Component\HttpFoundation\FileBag Object ( [parameters:protected] => Array ( [file] => Symfony\Component\HttpFoundation\File\UploadedFile Object .... But I would like to get [files] => Symfony\Component\HttpFoundation\FileBag Object ( [parameters:protected] => Array [form] => Array ( [file] => Symfony\Component\HttpFoundation\File\UploadedFile Object .... Commented Jun 13, 2015 at 10:28
  • I think I need to connect it somehow with formbuilder, but I don't know how... Commented Jun 13, 2015 at 10:29

1 Answer 1

6

Ok I found the answer... It was simple as possible..

You need to just add a option:

paramName: "form[file]"

To Your dropzone configuration.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.