Discussion:
JSP, formulario del tipo multipart/form-data y tomar valores de campos pasados
(demasiado antiguo para responder)
_XaToA_
2003-12-14 20:54:27 UTC
Permalink
Hola.
EStoy hacidno una jsp con un formulario.
el formulario es del tipo : multipart/form-data para enviar un archivo,
apàrte de otras cosas.
la cosa es que queiro tomar en la pagina e respuesta, un valor del request,
un parametro que paso en forma hidden o text y no me lo toma.
Concretamente tengo esto:

<form action="/gestion/subiendos.jsp" method="post"
enctype="multipart/form-data" name="form1" id="form1">
<input type="hidden" name="formEnviar" value="1"/>
<input type="file" name="textfield" />
<input name="yo" type="text" id="yo" />
<input type="submit" name="Submit" value="Enviar" />
</form>

en la pagina de respuesta (subiendos.jsp) no puedo tomar con el tipico
request.getParameter("nombre") las variables pasadas de la pagina anterior.

En un formulario del tipo multipart/form-data no se peuden tomar valores o
que?
me podeis ayudar?
gracias
Manolo
2003-12-15 10:44:42 UTC
Permalink
Post by _XaToA_
En un formulario del tipo multipart/form-data no se peuden tomar valores o
que?
No, ya que los datos del formulario y del fichero o ficheros subidos vienen
codificados de distinta manera.

Necesitas una clase que sea capaz de "parsear" el flujo de entrada de la
request.

Yo personalmente he utilizado la clase
"com.oreilly.servlet.multipart.MultipartParser". A partir de la request
de toda la vida se construye un MultipartParser. Tambien existe una clase
más sencilla, pero menos flexible,
que ya guarda los ficheros en un directorio especificado, es útil para hacer
cosas sencillas:
com.oreilly.servlet.MultipartRequest.

Existen otros paquetes que realizan lo mismo. Echa un vistazo a
http://jakarta.apache.org/commons/fileupload/. Tiene buena pinta.

Por otro lado, yo no he probado recibir el fichero desde una JSP
directamente. Siempre lo
he utilizado desde un servlet. No sé si existe algun problema añadido al
utilizarlo desde JSPs.
Mi recomendación sería que procesaras la multipart request en un Servlet y
redirigieras a una JSP
para dar la respuesta.

Un saludo,
Manolo.

Loading...