Formularios Multipart

Cuando hacemos carga de archivos en web, existe el problema en el desarrollo de pasar datos anexos por multipart, por ejemplo, un archivo y un título o una descripción; ya que el clásico request.getParameter nos arrojará un “null”. La razon es que mediante este metodo toda la data obtenida es dividida en partes y pasada al destino, en nuestro caso un sevlet o action para poder recoger la data usamos esta logica: Haremos un bucle infinito que obtenga la parte q viene (en fila) y evaluaremos si la parte es un archivo para cargarlo a base de datos o evaluarlo ; y si no lo es recoger los valores. El bucle infinito se rompera cuando la “parte q venga” sea nula. Aquí un ejemplo:

while(true){
part = parser.readNextPart(); //Lee la “siguiente parte”
if(part == null)
break; //si la parte sgte es nula, rompemos e bucle

if(part instanceof FilePart){ // ¿¿¿Es la parte un archivo??
filePart = (FilePart)part; // se extrae el archivo
…………..

}
}else{ // No es archivo entonces….?
// Obtenemos el nombre del param. tal como lo colocamos en el form:
String nombre = part.getName();
// Generamos objeto del tipo ParamPart y obtenemos el valor
ParamPart valorparametro = (ParamPart)part;
String valor = valorparametro.getStringValue();
……}}

Tambien podremos utilizar part.isFile() que arroja un booleano diciendonos si la parte es archvio o no. Gracias a Oscar por la genial ayuda y asesoria en este caso.

Escribe un comentario