Foros del Web » Programación para mayores de 30 ;) » Java »

Procesar ficheros con File Upload

Estas en el tema de Procesar ficheros con File Upload en el foro de Java en Foros del Web. Hola, Estoy utilizando File Upload para subir unos ficheros a un servidor. Me gusaría saber si se puede procesar un fichero mientras se suben el ...
  #1 (permalink)  
Antiguo 30/04/2006, 10:26
 
Fecha de Ingreso: abril-2006
Mensajes: 17
Antigüedad: 18 años, 7 meses
Puntos: 0
Procesar ficheros con File Upload

Hola,
Estoy utilizando File Upload para subir unos ficheros a un servidor.
Me gusaría saber si se puede procesar un fichero mientras se suben el resto, actualmente estoy utilizando parseRequest y para procesarlos tengo que espera a subir todo, y quería ganar un poco de tiempo procesandolos mientras se suben el resto, ¿alguien sabe si se puede?.
Gracias
  #2 (permalink)  
Antiguo 30/04/2006, 10:33
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Por si te vale de algo , mirate este link sobre el tema :

http://www.adictosaltrabajo.com/tuto...ina=fileupload
Cita:
public boolean procesaFicheros(HttpServletRequest req, PrintWriter out ) {
try {
// construimos el objeto que es capaz de parsear la perición
DiskFileUpload fu = new DiskFileUpload();

// maximo numero de bytes
fu.setSizeMax(1024*512); // 512 K

depura("Ponemos el tamaño máximo");
// tamaño por encima del cual los ficheros son escritos directamente en disco
fu.setSizeThreshold(4096);

// directorio en el que se escribirán los ficheros con tamaño superior al soportado en memoria
fu.setRepositoryPath("/tmp");

// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(req);

if(fileItems == null)
{
depura("La lista es nula");
return false;
}

out.print("<br>El número de ficheros subidos es: " + fileItems.size());

// Iteramos por cada fichero
Iterator i = fileItems.iterator();
FileItem actual = null;
depura("estamos en la iteración");

while (i.hasNext())
{
actual = (FileItem)i.next();
String fileName = actual.getName();
out.println("<br>Nos han subido el fichero" + fileName);

// construimos un objeto file para recuperar el trayecto completo
File fichero = new File(fileName);
depura("El nombre del fichero es " + fichero.getName());

// nos quedamos solo con el nombre y descartamos el path
fichero = new File("c:\\ficherossubidos\\" + fichero.getName());

// escribimos el fichero colgando del nuevo path
actual.write(fichero);
}

}
catch(Exception e) {
depura("Error de Aplicación " + e.getMessage());
return false;
}

return true;
}


  #3 (permalink)  
Antiguo 30/04/2006, 10:57
 
Fecha de Ingreso: abril-2006
Mensajes: 17
Antigüedad: 18 años, 7 meses
Puntos: 0
Asi es como lo tengo ahora, el problema esta en:
Cita:
// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(req);
ya que con parseRequest hasta que no tiene todos los ficheros subidos en el servidor no sigue a la siguiente línea, y a mi me gustaría que una vez que recibiera el primer fichero empezara a procesarlo, sin esperar a que llegasen los siguientes.
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 13:56.