Foros del Web » Programación para mayores de 30 ;) » Java »

Envio de byte[] a una JSP para opción de descarga de un PDF (¿alguien sabe cómo?)

Estas en el tema de Envio de byte[] a una JSP para opción de descarga de un PDF (¿alguien sabe cómo?) en el foro de Java en Foros del Web. Buenas, veréis, en un servlet, tengo un byte[] con el contenido de un pdf en base64. Ese servlet redirije a una jsp, y en ésta, ...
  #1 (permalink)  
Antiguo 22/01/2012, 12:30
 
Fecha de Ingreso: enero-2008
Mensajes: 9
Antigüedad: 16 años, 3 meses
Puntos: 0
Envio de byte[] a una JSP para opción de descarga de un PDF (¿alguien sabe cómo?)

Buenas,

veréis, en un servlet, tengo un byte[] con el contenido de un pdf en base64. Ese servlet redirije a una jsp, y en ésta, debo poner un link que permita visualizar ese PDF. Es decir, el servlet NO debe mostrar el PDF, sino dirigirme a una jsp donde esté la opción de mostrar ese PDF a traves de un link.

He de hacerlo sin usar el disco, todo en memoria. Y la verdad es que no veo cómo...

Se me ocurre enviar el byte array a la jsp, y desde la jsp llamar a un servlet que retorne el pdf como un outputstream, en la response. O incluso hacerlo todo desde otra jsp que haga lo mismo, que pinte el pdf en un outputstream.

¿Se os ocurre una forma fácil de hacerlo? ¿Puedo meter un byte[] en un setAttribute de la request y recuperarlo luego en la jsp?

Y en caso de poder hacerlo, ¿qué hago con ese byte[] para que se descargue el pdf cuando pinchen el link? Porque si llamo a otra jsp, o a un servlet, que me haga un write de ese byte[] en la response, tendré que pasarle a esa Jsp o servlet ese byte[], y no veo cómo.

No sé si me estoy liando y no es necesario tanto pase de byte[] de un lado para otro. ¿Se os ocurre como hacerlo?

Merci!
  #2 (permalink)  
Antiguo 23/01/2012, 07:18
 
Fecha de Ingreso: enero-2012
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Envio de byte[] a una JSP para opción de descarga de un PDF (¿alguien sabe

Hola Silvia,
Antes he contestado otra pregunta tuya que creo que tiene relacion con esta.
Lo mejor es que introduzcas el array de bytes en la session del usuario y que generes un link bien sea hacia otro servlet que muestre el pdf o bien hacia el mismo servlet con una accion que indique que quieres visualizar el pdf.

En cualquier caso luego lo obtienes de la session y lo escribes directamente en el response ya sea con un getOutputStream o con getWriter, recuerda poner en el content type que es un pdf


Saludos
  #3 (permalink)  
Antiguo 23/01/2012, 08:56
 
Fecha de Ingreso: enero-2008
Mensajes: 9
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Envio de byte[] a una JSP para opción de descarga de un PDF (¿alguien sabe

Sip, efectivamente, tenía relación Merci, Luis. Al final he metido el byte[] como atributo en la request (aunque como String, no como byte[], haciendo un new String(bytearray)) y lo recojo en una jsp, desde la que llamo a otro servlet que descarga el pdf escribiendo en el response. A ver si funciona!

Gracias de nuevo


Cita:
Iniciado por luisvrluven Ver Mensaje
Hola Silvia,
Antes he contestado otra pregunta tuya que creo que tiene relacion con esta.
Lo mejor es que introduzcas el array de bytes en la session del usuario y que generes un link bien sea hacia otro servlet que muestre el pdf o bien hacia el mismo servlet con una accion que indique que quieres visualizar el pdf.

En cualquier caso luego lo obtienes de la session y lo escribes directamente en el response ya sea con un getOutputStream o con getWriter, recuerda poner en el content type que es un pdf


Saludos

Etiquetas: byte, jsp, pdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.