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.