jquery - cómo leer la lista de archivos en cola para dropzone y subirlos en orden
file-upload drag-and-drop (1)
Estoy cargando la cantidad de imágenes usando (arrastrar y soltar) dropzone.js
Aquí mantuve el autoProcessQueue
en false
para hacer una carga personalizada.
Ahora estoy buscando cómo puedo obtener la lista de cola que he seleccionado para cargar. El motivo es que necesito subir los archivos uno tras otro para que se mantenga el orden. Puedo mantener la opción parallelUploads
en 1
para que los archivos se carguen uno tras otro, pero aquí el problema es que el segundo archivo no está esperando la respuesta del archivo anterior.
Entonces, mientras durante el proceso en el servidor de carga se procesa el segundo y si tiene un tamaño menor que el primero, se carga primero antes del archivo anterior.
¿Alguna respuesta para esto por favor ...?
He estado trabajando recientemente con Dropzonejs y SlickGrid y me encontré con el desafío de ordenar archivos, así como con los eventos que se activaron antes de que se cargaran todos los archivos. Cuando use los valores predeterminados, separará todas las cargas, por lo que para permitir múltiples archivos, debe configurar el parámetro uploadMultiple
. Puede controlar la cantidad de cargas paralelas que admite estableciendo el parámetro paralellUploads
. Me parece recordar que por defecto está en dos. El truco es esperar a que se completen TODAS las cargas antes de procesar las respuestas. Me doy cuenta de que está buscando retener el orden de los archivos que se cargarán, pero realmente creo que quiere manejar las respuestas en orden. Forzarlos a subir en orden elimina cualquier ventaja de carga paralela.
Agregué dos controladores uno para guardar las respuestas a medida que completan (cada bloque de cargas paralelas produce uno de estos
myDropzone.on("successmultiple", function(file,response) {
save_responses(response);
});
y uno para procesarlos todos cuando haya terminado.
myDropzone.on("completemultiple", function() {
if (this.getQueuedFiles().length == 0 &&
this.getUploadingFiles().length == 0) {
process_responses(this.getAcceptedFiles());
}
});
Si sospecha que el orden de los archivos no es correcto, siempre puede verificar la matriz event.dataTransfer.files