JSP (Java Server Page) - Donde escribir el archivo generado para download

   
Vista:

Donde escribir el archivo generado para download

Publicado por monica (1 intervención) el 20/02/2008 23:16:53
Hola, por favor...
Desde codigo JSP, la aplicacion (server) genera un archivo...
Bien. Donde lo tengo que escribir para que el client lo pueda bajar?
Lo ideal seria poder hacer un hyperlink que punte a ese file pero no hay visibilidad entre el web application y el "sitio" web !!!

AYUDA!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Donde escribir el archivo generado para downloa

Publicado por Nadal (4 intervenciones) el 24/03/2008 16:13:51
Prueba a enviar la peticion con un action al servidor. Que el servidor lea el fichero y lo convierta en un array de bytes, una vez convertido, lo envias como atributo en el request a un jsp (puede estar vacio) y luego en el jsp lo lees como en el ejemplo que te escribo a continuacion:
------- INICIO DE LOS SCRIPTLETS -------
<%
String nombreFichero = "";
String rutaFichero = "";
try {
byte[] data = (byte[]) request.getAttribute("datosFichero");
nombreFichero = (String) request.getAttribute("nombrefichero");
rutaFichero = (String) request.getAttribute("rutaFichero");

// Con esto solucionamos cuando no nos salía el documento
System.out.println("longitud del data recibido = " + data.length);
response.reset();
//response.setContentType("application/x-download");
response.setContentType("text/plain");
response.setHeader( "content-disposition", "attachment;name="" +
rutaFichero +
""; filename="" +
rutaFichero +
""");
response.setContentLength(data.length);
response.getOutputStream().write(data, 0, data.length);
response.getOutputStream().close();
} catch (Exception e) {
e.printStackTrace();
}
%>
---- FIN DE SCRIPTLETS ----
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<HEAD>
<title>

</title>
</HEAD>
<body>
</body>
</html>

Ya me diras si te sirve...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar