Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/09/2010, 01:08
Willy_Vlautin
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Generar un fichero desde un Blob

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!!!!!