2015-01-19 13 views
12

Próbuję wysłać wiele plików w jednym żądaniu przy użyciu DropZone js.przesłać wiele plików w jednym żądaniu Dropzone wysyła dwa żądania

Oto mój kod:

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

Kontroler:

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

Widok:

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

Pliki są odbierane chociaż w diferrent wniosków, chcę przesłać wszystkie pliki jedno żądanie, strona Dropzone ma dla niego opcję, mimo że nie działa. Z góry dziękuję

Odpowiedz

7

Problem polegał na tym, że korzystałem z typu danych wejściowych = "prześlij", co spowodowałoby wykonanie innego wpisu, zmieniając go na typ "przycisk" działający.

+1

Weird Mam dokładnie ten sam problem, ale przycisk input = button nie naprawia go dla mnie. Musiałem dodać parallelUploads: 10, aby działało, ponieważ paralledUploads domyślnie ma tylko 2 pliki. – StackThis

2

Właściwość enqueueForUpload jest przestarzała i należy zamiast tego użyć autoProcessQueue. Moje przypuszczenie jest takie, że ponieważ enqueueForUpload nie jest już używany i nie ustawiono autoProcessQueue na false, DropZone.js zakłada, że ​​chcesz wysłać każdy plik, ponieważ został on upuszczony na komponencie.

Należy usunąć enqueueForUpload: false ustaw autoProcessQueue: false i po wybraniu (tj spadła) wszystkie pliki musisz przesłać wywołać funkcję .processQueue(), jak opisano w documentation.

+1

Ive zaktualizował kod, jednak wysyłane są dwie prośby. – SJMan

+0

To naprawdę dziwne. Przepraszam, nie mam więcej pomysłów. –

+0

Jednak jeden ma pliki we wpisie, drugie żądanie nie. – SJMan