Hola a todos
Tengo un problema que no sé si tiene solución
Estoy usando una clase que extiende AbstractWebScript
y estoy intentando obtener los campos que me llegan de un jsp con enctype="multipart/form-data"
Consigo un objeto HttpServletRequest con el código:
httpServletReq = ((WebScriptServletRequest) req).getHttpServletRequest();
Pero a partir de aquí, no puedo obtener el fichero que quiero "uplodear":
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<E> items = upload.parseRequest(httpServletReq);
res.getWriter().write("no items: " + items.size());
La traza "no items" siempre devuelve 0
He conseguido obtener un objeto de la clase import org.alfresco.web.scripts.FormData;
formData = new FormData(httpServletReq);
Ejecuto el siguiente código para comprobar que es multiform y que están llegando los campos de mi jsp:
System.out.println("SubirFichero->execute->tiene titulo: " + formData.hasField("titulo"));
System.out.println("SubirFichero->execute->tiene descripcion: " + formData.hasField("descripcion"));
System.out.println("SubirFichero->execute->tiene identificadorNodo: " + formData.hasField("identificadorNodo"));
System.out.println("SubirFichero->execute->tiene nombre: " + formData.hasField("nombre"));
System.out.println("SubirFichero->execute->tiene fichero: " + formData.hasField("fichero"));
Todas las trazas me devuelven true, pero tanto si ejecuto httpServletReq.getAttribute("titulo") como si ejecuto
httpServletReq.getParameter("titulo"); me devuelve nulo
He intentado obtener todos los campos con un formdata.getFields(), pero se produce una excepción en esta llamada
Creo que a lo mejor si en vez de un con org.alfresco.web.scripts.FormData pudiese trabajar con el FormData del paquete
org.alfresco.web.scripts.servlet la cosa iría mejor, pero no consigo encontrar la manera de descargarme el paquete
¿Alguién podría echarme una mano?
PRIORIDADES
(1) ¿Existe alguna posibilidad de conseguir hacer un upload de un fichero con un backed java?
(2) ¿Cómo puedo conseguir el parquete org.alfresco.web.scripts.servlet?
Saludos y muchas gracias