2015-06-12 2 views
5

Benim durum symfony formbuilder ile doğru çalışmak için dropzone.js işlemek için çalışıyorum. Basit <input type="file" id="form_file" name="form[file]">Dropzone.js ve symfony formbuilder

kullanıyorsam

Her şey düzgün çalışıyor ANCAK ben dropzone.js kullanıyorsam benim POST bu fark olsun: difference in POST

halledebilirim nasıl?

Bu Bunun için benim js geçerli:

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

Ve denetleyicisi:

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

Bana yardım edebilir

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 dosyası benziyor? Kişisel dropzone yapılandırması için

paramName: "form[file]"

:

+0

'uploadMultiple' ayarını false olarak ayarlamayı denediniz mi? –

+0

Ben i kurarken ı vardır: 'dosyaları] => Symfony \ Component \ HttpFoundation \ FileBag ( [parametreleri Nesne: protected] => Array ( [file] => Symfony \ Component \ HttpFoundation \ Dosya \ uploadedfile .... Nesne 'Ama almak istiyorum' [dosyalar] => Symfony \ Component \ HttpFoundation \ FileBag ( Nesne: => Dizi \t [formu] => Array \t ( [parametreleri korumalı] \t [dosya] => Symfony \ Bileşen \ HttpFoundation \ File \ UploadedFile Nesnesi \t .... ' – Gemmi

+0

Sanırım bir yere bağlamalıyım formbuilder ile ow, ama bilmiyorum nasıl ... – Gemmi

cevap

3

Tamam ben

Sadece bir seçenek eklemek gerekir .. Olabildiğince basit ... cevabını buldu.