2015-06-12 9 views
5

मैं ड्रॉपज़ोन.जेएस को मेरी इकाई सिम्फनी फॉर्मबिल्डर के साथ सही काम करने के लिए संभालने की कोशिश कर रहा हूं।Dropzone.js और symfony formbuilder

सब कुछ ठीक से काम करता है अगर मैं सरल उपयोग कर रहा हूँ <input type="file" id="form_file" name="form[file]">

लेकिन अगर मैं dropzone.js उपयोग कर रहा हूँ मैं अपनी पोस्ट में इस अंतर मिलता है: difference in POST

कैसे मैं इसे संभाल कर सकते हैं?

यह इसके लिए मेरी js है:

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

और मेरे नियंत्रक:

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

आप मेरी मदद कर सके

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

       } 

      } 

मेरे प्रपत्र फ़ाइल की तरह दिखता है?

+0

क्या आपने गलत अपलोड करने के लिए 'uploadMultiple' की सेटिंग करने का प्रयास किया है? –

+0

जब मैं मैं सेट अप मेरे पास है: 'फ़ाइलें] => Symfony \ घटक \ HttpFoundation \ FileBag वस्तु ( [पैरामीटर: संरक्षित] => सरणी ( [फ़ाइल] => Symfony \ घटक \ HttpFoundation \ फ़ाइल \ UploadedFile वस्तु .... 'लेकिन मैं प्राप्त करना चाहते हैं' [फ़ाइलों] => Symfony \ घटक \ HttpFoundation \ FileBag वस्तु ( [पैरामीटर: संरक्षित] => सरणी \t [प्रपत्र] => सरणी \t ( \t [फ़ाइल] => सिम्फनी \ घटक \ HttpFoundation \ फ़ाइल \ अपलोड किया गया फ़ाइल ऑब्जेक्ट \t .... ' – Gemmi

+0

मुझे लगता है कि मुझे इसे कनेक्ट करने की आवश्यकता है फॉर्मबिल्डर के साथ ओउ, लेकिन मुझे नहीं पता कि कैसे ... – Gemmi

उत्तर

3

ठीक है, मैं इस सवाल का जवाब मिल गया ... यह संभव के रूप में आसान था ..

तुम सिर्फ एक विकल्प जोड़ने की जरूरत:

paramName: "form[file]"

आपका dropzone विन्यास करने के लिए