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

itext guardar directamente en el servidor

Estas en el tema de itext guardar directamente en el servidor en el foro de Java en Foros del Web. Buen día. Tengo una aplicación en la cual ciertos documentos son generados mediante el api itext.jar. Todo bien hasta aquí. Ahora se requiere que el ...
  #1 (permalink)  
Antiguo 24/04/2007, 03:56
 
Fecha de Ingreso: abril-2007
Ubicación: España
Mensajes: 19
Antigüedad: 17 años
Puntos: 1
Pregunta itext guardar directamente en el servidor

Buen día.
Tengo una aplicación en la cual ciertos documentos son generados mediante el api itext.jar. Todo bien hasta aquí.
Ahora se requiere que el pdf generado se guarde en el servidor, para luego ser accedido mediante una lista y poderlo descargar.
Esto se debe a que existen cliente del sistema que solo pueden ver los documentos creados y no pueden crear estos documentos.
La pregunta: ¿cómo hago para que en el momento que el usuario guarde el pdf, poder obtener la ruta y hacer un FileUpload del archivo?.
Tengo estas dos opciones al momento de especificar como se va a presentar el pdf:
resp.setHeader("Content-disposition",inline;filename="nombre");
resp.setHeader("Content-disposition",attachment;filename="nombre");
Si el archivo es creado inline, ¿cómo puedo pasarlo a un directorio especifico directamente al servidor?
De antemano, muchas gracias por la ayuda.
Saludos.
  #2 (permalink)  
Antiguo 24/04/2007, 04:36
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: itext guardar directamente en el servidor

Lo que tendrías que hacer es generarlo directamente en el servidor, en vez de "generarlo-al-devolverselo-al-cliente". O sea, en vez de devolverlo por el stream del response, lo conectas a un FileOutputStream y asi lo guardas en un fichero.

Si aun asi en la misma petición se lo quieres mostrar, pues lees despues del fichero y se lo devuelves tambien. O le haces un forward a la operacion de leer el fichero que usan el resto de usuarios.

Para solo leerlos, con abrir un stream a los ficheros y enviar en contenido por el stream del response, ya lo tienes listo.

S!
  #3 (permalink)  
Antiguo 25/04/2007, 02:57
 
Fecha de Ingreso: abril-2007
Ubicación: España
Mensajes: 19
Antigüedad: 17 años
Puntos: 1
De acuerdo Re: itext guardar directamente en el servidor

Muchas gracias por la respuesta.
Efectivamente como ya tengo construido el ByteArrayOutputStream, solo he tenido que añadir las siguientes líneas:
// Para establecer la ruta donde deseo guardar el archivo
String path = getServletContext().getRealPath("/pdf/factura/"+faTmp.getNumeroFactura()+".pdf");
//Creo el archivo de salida con su ruta
FileOutputStream FOS = new FileOutputStream(path);
//Escribo el contenido en el archivo
baosPDF.writeTo(FOS);
//Cierro el archivo
FOS.close();

Saludos.
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 00:20.