2015-01-19 15 views
12

Sto cercando di inviare più file in una richiesta utilizzando DropZone js.carica più file in una richiesta Dropzone invia due richieste

Ecco il mio codice:

Dropzone.autoDiscover = false; 

var myDropzone = new Dropzone('#upload-Invoices', {  
    paramName: "files", 
    maxFilesize: 3.0, 
    maxFiles: 4, 
    parallelUploads: 10000, 
    uploadMultiple: true, 
    autoProcessQueue: false 
}); 

$('#btnUpload').on('click', function() { 
    myDropzone.processQueue(); 
}); 

Controller:

public void FileUpload(IEnumerable<HttpPostedFileBase> file) 
{ 
//Do Something 
} 

Vista:

<form action="/Index/FileUpload" 
           class="dropzone" 
           id="upload-Invoices" data-ajax-method="POST" data-ajax="true"> 
          <input type="submit" value="Upload File to Server" id="btnUpload"> 
           </form> 

I file vengono ricevuti anche se nelle richieste diferrent, voglio inviare tutti i file in una richiesta, la pagina Dropzone ha un'opzione per questo anche se non funziona. Grazie in anticipo

risposta

7

Il problema era che stavo usando un tipo di input = "submit" che farebbe un altro post da solo, cambiandolo per digitare "button" ha funzionato.

+1

Stranamente ho lo stesso identico problema, ma il tipo di input = button non lo aggiusta per me. Ho dovuto aggiungere parallelUploads: 10 per farlo funzionare, perché paralleledUploads ha come valore predefinito solo 2 file. – StackThis

2

La proprietà enqueueForUpload è obsoleta ed è necessario utilizzare autoProcessQueue. La mia impressione è che, dal momento che il enqueueForUpload non viene più utilizzato e non si imposta autoProcessQueue su false, DropZone.js presuppone che si desidera inviare ogni file, poiché viene rilasciato sul componente.

È necessario rimuovere enqueueForUpload: false, impostare autoProcessQueue: false e dopo aver selezionato (cioè caduto) tutti i file necessari per caricare, chiamare la funzione .processQueue(), come descritto nella documentation.

+1

Ive ha aggiornato il codice, tuttavia vengono inviate due richieste. – SJMan

+0

Questo è davvero strano. Scusa, non ho più idee. –

+0

Tuttavia, uno ha file nel post, la seconda richiesta no. – SJMan