Foros del Web » Programando para Internet » Javascript »

Problema con upload mediante AJAX

Estas en el tema de Problema con upload mediante AJAX en el foro de Javascript en Foros del Web. Hola a todos! Os explico mi problemilla, tengo una función javascript que realiza un upload de varios archivos a la vez. Cuando se inicia la ...
  #1 (permalink)  
Antiguo 24/02/2012, 12:19
Avatar de lobo86  
Fecha de Ingreso: mayo-2010
Mensajes: 16
Antigüedad: 14 años
Puntos: 1
Pregunta Problema con upload mediante AJAX

Hola a todos!

Os explico mi problemilla, tengo una función javascript que realiza un upload de varios archivos a la vez. Cuando se inicia la función realizo un for para recorrer todos los archivos a subir y los subo uno a uno, cuando se ha completado la subida de cada uno de ellos llamo a una función que me va mostrando el progreso de la subida (del tipo 1 de 6 imágenes), os pongo el código:

Código Javascript:
Ver original
  1. function uploadMultipleFiles(up) {
  2.         var input = up;
  3.         var fd = new FormData();
  4.         var files = document.getElementById(input).files.length;
  5.         for(i=1; i < files; i++){
  6.             fd.append(input, document.getElementById(input).files[i-1]);
  7.             var xhr = new XMLHttpRequest();
  8.             $('.subiendo').next().after('<div class="uploaderBoxMulti"><div class="uploader"></div><span class="uploadTxt"></span></div>');
  9.             $('.uploaderBoxMulti').fadeIn('slow');
  10.             $('.subiendo').removeClass('subiendo');
  11.             //alert(i);
  12.             xhr.addEventListener("load", function(event){uploadComplete(input, "multi", i, files, event)}, false);
  13.             xhr.addEventListener("error", uploadFailed, false);
  14.             xhr.addEventListener("abort", uploadCanceled, false);
  15.             xhr.open("POST", "RUTA AL ALMACENAMIENTO DE LA IMAGEN");
  16.             xhr.send(fd);
  17.            
  18.         }
  19.       }

Funciona bastante bien, pero el problema es que al llamar a la función uploadComplete() la variable i (el contador del for) me envía simpre el valor máximo (files), sin embargo si pongo un alert para que me muestre la variable i, funciona correctamente (va llamando a la función uploadComplete() con los diferentes valores).

¿Alguna sugerencia?

Gracias y saludos

Etiquetas: ajax, upload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:46.