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

Recuperar multiples file en Struts

Estas en el tema de Recuperar multiples file en Struts en el foro de Java en Foros del Web. Buenas tardes, Les consulto porque tengo la siguiente duda. En una aplicación en struts tengo un html en el cual tengo un input de file ...
  #1 (permalink)  
Antiguo 27/08/2013, 06:08
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Recuperar multiples file en Struts

Buenas tardes,

Les consulto porque tengo la siguiente duda.

En una aplicación en struts tengo un html en el cual tengo un input de file multiples

<input type="file" name="archivos" multiple/>

Luego tengo un ActionForm por el que recupero mis parametros, la cuestión es que no consigo recuperar la totalidad de los ficheros incluidos en el input.

Si en el ActionForm pongo el atributo como un FormFile me recupera solo el ultimo y si lo pongo como una lista o como un array me da un error en el tipo recuperado.

Alguien puede ayudarme??
  #2 (permalink)  
Antiguo 27/08/2013, 16:10
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Recuperar multiples file en Struts

Y si haces una lista de objetos tipo FormFile?

List<FormFile> listaArchivos = new ArrayList<FormFile>();

También te da error?
  #3 (permalink)  
Antiguo 28/08/2013, 01:03
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Recuperar multiples file en Struts

Si tambien me da error, el problema es que interpreta el input como un archivo unico y no como una lista o un array.
  #4 (permalink)  
Antiguo 28/08/2013, 02:39
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Recuperar multiples file en Struts

Mmmmm

nunca he utilizado FormFile, pero mirando la documentación de Struts, indica que solo puede recoger un archivo, por eso te coge el ultimo que seleccionas, la unica opcion que te queda es poner varios inputs en el caso de que sepas que siempre se van a subir un numero determinado de archivos (3 archivos, 3 inputs), de otra forma tendras que buscar otro componente....
  #5 (permalink)  
Antiguo 28/08/2013, 03:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Recuperar multiples file en Struts

En el jsp lo tratas como un archivo normal que se llamen todos con el mismo nombre, en el .action recogelo como un array de files y ya los tendrás.

Un saludo.
  #6 (permalink)  
Antiguo 28/08/2013, 04:48
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Recuperar multiples file en Struts

rgf1987 --> El problema es precisamente ese, que es un número indeterminado de archivos.

ElAthlit --> Eso ya lo he intentado pero solo recuperas un archivo no recuperas el array.
  #7 (permalink)  
Antiguo 28/08/2013, 04:57
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Recuperar multiples file en Struts

http://markjgreene.wordpress.com/200...with-struts-2/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #8 (permalink)  
Antiguo 28/08/2013, 05:55
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Recuperar multiples file en Struts

Javascript = TRAMPA

Xerelo cumpliendo como siempre jeje

Inconveniente... si quieres subir 10 archivos de golpe... poner 10 inputs es una gochada :(
  #9 (permalink)  
Antiguo 28/08/2013, 06:45
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Recuperar multiples file en Struts



Cuando tienes un problema lo primero es buscar una solución, si la solución no es elegante pero es sencilla, adelante, luego podrás buscar la elegante con tranquilidad.

Si la solución no es ni elegante ni sencilla se puede valorar si merece la pena dedicarle tiempo en vez de buscar una buena solución.

Para subir muchos ficheros, el añadir cajas de fichero no sirve, pero si son pocos pues sirve para ir tirando.

Otra opción rápida es que los ficheros vayan comprimidos y descomprimirlos en el servidor.

Edito:

No lo puedo confirmar, pero

http://www.coderanch.com/t/55502/Str...-Upload-Struts

Cita:
"Multiple file upload" in that the user can select a fixed number of files, or that the user can select any number of files? In the first case where you the user can select a fixed number of files you just need to put multiple FormFile properties in your form. I recall doing some research into the second case and it is not supported. As I recall, some browsers will let the user select multiple files but it is not really a supported feature and not something supported by Struts.
Suponiendo que sea Struts 1.

¿Has probado poniendo que la variable se llame archivos[ ] y recoger un array de File en el servidor?
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Última edición por Xerelo; 28/08/2013 a las 07:02
  #10 (permalink)  
Antiguo 29/08/2013, 01:23
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Recuperar multiples file en Struts

Hola xerelo, estoy de acuerdo contigo en que aunque la solucion sea poco elegante si es solucion esta bien.

Si que he probado a intentar declarar la variable como un array de FormFile en el ActionForm pero en ese caso me dice que el tipo no coincide ya que lo que recupera del formulario es un unico archivo.

Tambien he intentado declarar en el ActionForm el FormFile y una lista de FormFiles de modo que cuando se realice el set del FormFile se añada el elemento a la lista pero el problema es que aunque existan multiples input o exista un solo input con la propiedad multiple solo se llama una vez al set del ActionForm con el ultimo archivo añadido. De manera que cuando recupero la lista en el Action solo tiene un elemento.

Espero que me hayais entendido ya que es un poco lioso.

Saludos y gracias por intentar ayudarme!!!

Etiquetas: html
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 18:39.