JSP (Java Server Page) - Subir imagen de un formulario con un servlet

   
Vista:

Subir imagen de un formulario con un servlet

Publicado por Cynthia (7 intervenciones) el 23/10/2008 16:43:40
Quisiera sabe como subir una imagen (file) que esta incluida con otros objetos en un formulario (textbox, radios, checkbox, etc...) pero procesarlo (enviar el url a una base de datos) y enviarlo a almacenar en el servidor a través de un servlet.....utilizo la libreria commons-fileupload-1.2 y commons-io-1.3.2 pero no me funciona....si lo utilizo..no guarda en la bd la info de los demas objetos del formulario....alguien podria darme otra solucion o indicarme cual podria ser el error?

Utilizo este código en el servlet "subirImagen":

public boolean procesaFicheros(HttpServletRequest req, PrintWriter out)
{
boolean resp=false;
boolean isMultipart = ServletFileUpload.isMultipartContent(req);
if(isMultipart)
{
//Definimos Donde se guardaran los archivos y tamaño maximo
int tamañoMaximoArchivo = 1024*1024*4; //valor en bytes --> (4MB)
//String directorioDestino = "C:\SERVER";
String directorioDestino = "\DIRECTORIO\imagenes\almacenadas";

File directorio=new File(directorioDestino);
if(!(directorio.exists()))
{
directorio.mkdirs();
}
try
{
DiskFileUpload fu = new DiskFileUpload();
String nombreArch = null;
// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(req);

if(fileItems.size()>0)
{
for(int i=0;i<fileItems.size();i++)
{
FileItem actual = (FileItem)fileItems.get(i);
if(actual.getName().compareTo("") != 0)
{
String fileName = actual.getName();
// construimos un objeto file para recuperar el trayecto completo
File fichero = new File(fileName);
nombreArch = fichero.getName();
depura("El nombre del fichero es " + fichero.getName());
// nos quedamos solo con el nombre y descartamos el path
fichero = new File(directorioDestino,obtenerSoloNombre(nombreArch));

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


String fieldName = actual.getFieldName();
String contentType = actual.getContentType();
boolean isInMemory = actual.isInMemory();
long sizeInBytes = actual.getSize();

out.print("<p> fieldName --> " + fieldName);
out.print("<p> fileName --> " + fileName );
out.print("<p> contentType --> " + contentType );
out.print("<p> isInMemory --> " + isInMemory);
out.print("<p> sizeInBytes --> " + sizeInBytes);
out.print("<br/><br/><br/>");

if(!actual.getFieldName().isEmpty())
resp= true;

}
}
}
resp = false;
}
catch(Exception e)
{
depura("Error de Aplicacion " + e.getMessage());
resp=false;
}
}
return resp;
}

y en el jsp este form: <form ENCTYPE="multipart/form-data" method="POST" action="subirImagen">
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subir imagen de un formulario con un servlet

Publicado por eduardin (1 intervención) el 05/03/2010 21:06:28
una pregunta me gustaria ver el codigo donde importas las librerias
commons-fileupload-1.2 y commons-io-1.3.2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir imagen de un formulario con un servlet

Publicado por Che (1 intervención) el 07/06/2013 21:02:09
Hola, no se si aún este fijo este tema debido a su antiguedad. Pero me gustaria conocer alguna solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar