Hola Hualro!!,
a parte de cambiar el request.setContentType, también había que cambiar las líneas de posición.
primero, antes de cargar el getOutputStream de datos, hay que cargar la request con los parámetros que indican cómo y qué quieres hacer con el fichero generado.
el código, para que funcione, tiene que quedar de la siguiente manera:
Código:
try{
TTOL_Fichero_Solicitudes_Adsl adsl=adslDAO.findById(id);
Blob blob=adsl.getFichero();
InputStream stream=blob.getBinaryStream();
ServletOutputStream fileOutputStream = response.getOutputStream();
int length=-1;
byte[] buffer= new byte[4096];
//response.setContentType("application/text");
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename="+adsl.getNombreFichero());
response.setHeader("Pragma", "cache");
response.setHeader("Cache-control", "private, max-age=0");
while((length=stream.read(buffer))!=-1){
fileOutputStream.write(buffer,0,length);
fileOutputStream.flush();
}
stream.close();
fileOutputStream.close();
return mapping.findForward(FWD_SUCCESS);
}
catch(Exception e){
Mucha gracias por tu ayuda!!!!!