Problema con PDF
Publicado por Nadal (4 intervenciones) el 04/06/2008 17:54:40
Hola buenas,
Tengo un problema al abrir ciertos PDF desde un JSP de Vignette, ya que solo me pasa en algunos casos. El JSP siempre es el mismo, pero dependiendo del PDF que intente cargar (son curriculums y por lo tanto, cada uno es distinto), algunos funcionan y en otros me dice "Error al abri el documento. El archivo está dañado y no puede repararse". Esta misma acción desde otra aplicación funciona correctamente.
Estas son las cabeceras que le paso al JSP:
response.setContentType("application/pdf")
response.setHeader("Content-Disposition", "attachment; filename="" + strNombreCurriculum + "";"); (strNombreCurriculum = al nombre del fichero)
response.setHeader("Cache-Control", "max-age=30");
response.setContentLength(curriculum.length); (Curriculum es un array de bytes que viene correctamente)
Y después de todo esto le digo:
javax.servlet.ServletOutputStream outDocument = response.getOutputStream();
if (curriculum != null && curriculum.length > 1) {
outDocument.write(curriculum, 0, curriculum.length);
outDocument.flush();
outDocument.close();
}
Como digo, desde otra aplicación que hace exactamente lo mismo si funciona.
Gracias y salu2
Tengo un problema al abrir ciertos PDF desde un JSP de Vignette, ya que solo me pasa en algunos casos. El JSP siempre es el mismo, pero dependiendo del PDF que intente cargar (son curriculums y por lo tanto, cada uno es distinto), algunos funcionan y en otros me dice "Error al abri el documento. El archivo está dañado y no puede repararse". Esta misma acción desde otra aplicación funciona correctamente.
Estas son las cabeceras que le paso al JSP:
response.setContentType("application/pdf")
response.setHeader("Content-Disposition", "attachment; filename="" + strNombreCurriculum + "";"); (strNombreCurriculum = al nombre del fichero)
response.setHeader("Cache-Control", "max-age=30");
response.setContentLength(curriculum.length); (Curriculum es un array de bytes que viene correctamente)
Y después de todo esto le digo:
javax.servlet.ServletOutputStream outDocument = response.getOutputStream();
if (curriculum != null && curriculum.length > 1) {
outDocument.write(curriculum, 0, curriculum.length);
outDocument.flush();
outDocument.close();
}
Como digo, desde otra aplicación que hace exactamente lo mismo si funciona.
Gracias y salu2
Valora esta pregunta


0