mi duda es la siguiente:
Estoy intentando hacer un formulario en HTML que tiene 4 inputs de tipo texto y por otra parte un selector de ficheros.
Al pulsar al botón continuar la idea es validar los 4 campos de texto con js, cosa que ya está y pasar el control a un jsp, que en base me loga a la web, actualiza o guarda los datos y debería subir el fichero.
El problema viene en el momento que intento recuperar el fichero, pues este no me llega.
Básicamente el formulario tiene el siguiente formato:
Código HTML:
<FORM action="/guardarDatos.jsp" method="post" enctype="multipart/form-data"> <LABEL for="email">email: </LABEL <INPUT type="text" id="email"> <LABEL for="email">email: </LABEL> <INPUT type="password" id="password"> <INPUT value="Enviar" onclick="javascript:validacion();"> <INPUT type="reset"> </FORM>
En el guardarDatos.jsp
Código:
(List items = servlet_up.parseRequest(request);) Es en esta línea cuando intento sacar los FileItems para hacer la lista, pero el request me viene a null.FileItemFactory file_factory = new DiskFileItemFactory(); ServletFileUpload servlet_up = new ServletFileUpload(file_factory); List items = servlet_up.parseRequest(request);
Pienso que es porque al mezclar tipos, no llega como multipart (lo he comprobado y efectivamente no lo trata como tal).
Por el contrario si hago un request.getParameter("email"); el email me llega perfectamente.
¿Habría alguna manera de que me lleguen todos los datos al jsp, tanto los de tipo "text", como el de tipo "file" sin tener que hacer la subida del archivo con un formulario aparte?
Muchas gracias de antemano.
Saludos!