Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2010, 03:26
gioropu
 
Fecha de Ingreso: noviembre-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 1
Como subir imagen al servidor y guardar la ruta relativa en la base de datos

Hola, estoy montando una aplicación para la gestión de contenido(texto+imagenes) con una base de datos; estoy subiendo la imagen al servidor(en una carpeta, "imagenes", de mi proyecto en eclipse) usando commons.fileupload.jar, pero el servlet que me lo hace me lo guarda en una ruta virtual o no.
Ahora bien, en la base de datos, ademas de los campos de texto que tenga el registro(autor, fecha, nombre_partitura), habrá otro de texto más llamado partitura(almacenará ruta relativa de la imagen(=una partitura));
- Estructura de mi proyecto:
Aplicacion
---Aplicacion.xml
---WebContent/
------imagenes
--------->aquí irán mis imagenes<
---------WEB-INF/
------------lib/
------------classes/libreria/ContextListener.java, PartiturasBD.java, Partitura.java
------------web.xml
------formularios.jsp



- Scriplet para subir archivo al servidor
<%
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {

} else {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = null;
try {
items = upload.parseRequest(request);
} catch (FileUploadException e) {
e.printStackTrace();
}
Iterator itr = items.iterator();
while (itr.hasNext())
{
FileItem item = (FileItem) itr.next();
try {
String itemName = item.getName();
File savedFile = new File(config.getServletContext().getRealPath("/")+"/WebContent/imagenes/"+itemName);
item.write(savedFile);
} catch (Exception e) {
e.printStackTrace();
}
}

}
%>
La inserccion en la base de datos de los campos "autor, fecha, nombre_partitura" se hace mediante el request.getParameter("nombre_campo"), pero para guardar la ruta relativa en el campo partitura, no se como insertarlo en la base de datos.
Soy un poco nuevo en esto...sino me he explicado bien...os puedo dar más información sobre el codigo.
Gracias de antemano.

Última edición por gioropu; 04/02/2010 a las 03:32