Java - Urgente!!!!Problemas al visualizar blobs en Firefo

   
Vista:

Urgente!!!!Problemas al visualizar blobs en Firefo

Publicado por Ronald Lopez (12 intervenciones) el 10/02/2009 15:50:16
Hola muchachos, tengo un problema estoy trabajando con una aplicacion Web en java usado servlets y estoy consultando informacion de una base de datos Oracle 10g. En la base de datos tengo un campo de tipo blob el cual almcena archivos con extension pdf y .gif. Al abriri la aplicacion y traer este tipo de documentos desde internet Explorer la aplicacion funciona correctamente pero el problema lo tengo al querer abrirlo desde FireFox lo unico que me trae es un codigo ASCII y al final me genera el siguiente error :

Error 500: SRVE0199E: OutputStream already obtained

el codigo que estoy utilizandopara leer la informacion de la base de datos es el siguiente:

Blob blob = null;
String sql ="SELECT DOC_APLIC_BLOB FROM ARQUI_DOC_APLIC,ARQUI_TIPO_DOCU,ARQUI_APLICACIONES WHERE DOC_APLIC_COD_TIPODOC=2 AND APLIC_COD_APLIC=DOC_APLIC_COD_APLIC AND APLIC_COD_APLIC='"+id2+"'";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
System.out.println("Conexion Exitosamente1");

while (rs.next()){
blob = rs.getBlob("DOC_APLIC_BLOB");
InputStream is = blob.getBinaryStream();
OutputStream os = response.getOutputStream();
byte [] bytes = new byte[1024];
int n;
while ((n = is.read(bytes)) != -1) {

os.write(bytes, 0, n);
}

Por favor muchachos si tienen alguna sugerencia por fwvor respodan no he podio resolver este problema
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente!!!!Problemas al visualizar blobs en Fir

Publicado por mario (622 intervenciones) el 10/02/2009 17:14:52
Podrias poner la traza de la excepcion completa porfavor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!!!!Problemas al visualizar blobs en Fir

Publicado por Ronald Lopez (12 intervenciones) el 10/02/2009 19:14:12
Hola Mario mira la traza completa de la excepcion no la tengo porque ese error me aprece al abrir la pagina en firefox en lugar de pintarme el documento en la aplicacion me pinta un codigo ASCI y luego ese error, la pagina esta sobre un servidor de aplicaciones WebSphere, al ingresar desde Enternet Explorer no tengo problema pero desde Fire Fox aparece lo que te mencione anteriormente aca envio el codigo de nuevo el codgio anterior le falto una linea que es para escribir con el OutStream:

String sql ="SELECT DOC_APLIC_BLOB FROM ARQUI_DOC_APLIC,ARQUI_TIPO_DOCU,ARQUI_APLICACIONES WHERE DOC_APLIC_COD_TIPODOC=2 AND APLIC_COD_APLIC=DOC_APLIC_COD_APLIC AND APLIC_COD_APLIC='"+id2+"'";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
System.out.println("Conexion Exitosamente1");

while (rs.next()){
blob = rs.getBlob("DOC_APLIC_BLOB");
InputStream is = blob.getBinaryStream();
OutputStream os = response.getOutputStream();
byte [] bytes = new byte[1024];
int n= 64;
while ((n = is.read(bytes)) != -1) {
System.out.println("Nuemro de bytes de el grafico"+n);
os.write(bytes, 0, n);
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!!!!Problemas al visualizar blobs en Fir

Publicado por mario (622 intervenciones) el 11/02/2009 00:41:49
Muy posiblemente el error es por el content type que no le estas especificando

si es un PDF es : response.setContentType( "application/pdf" );

si es una imagen es: response.setContentType( "image/jpeg" );
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!!!!Problemas al visualizar blobs en Fir

Publicado por Ronald Lopez (12 intervenciones) el 11/02/2009 16:49:36
Mario de verdad muchas gracias el problema era justamente ese que no tenia definido el ContentType, y FirefOX estaba interpretando tanto los pdf coo los jpeg como simple codigo ASCII , te envio el codigo con el cambio para que lo veas era tan simple como eso de verdad Gracias hermano:

String sql ="SELECT DOC_APLIC_BLOB FROM ARQUI_DOC_APLIC,ARQUI_TIPO_DOCU,ARQUI_APLICACIONES WHERE DOC_APLIC_COD_TIPODOC=2 AND APLIC_COD_APLIC=DOC_APLIC_COD_APLIC AND APLIC_COD_APLIC='"+id2+"'";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
System.out.println("Conexion Exitosamente1");
while (rs.next()){
blob=rs.getBlob("DOC_APLIC_BLOB");
InputStream is=blob.getBinaryStream();
/******************************************************************/
response.setContentType("image/jpeg");
/*****************************************************************/
OutputStream os=response.getOutputStream();

byte [] bytes=new byte[64];
int n=64;
while ((n = is.read(bytes))!=-1){
System.out.println("Nuemro de bytes de el grafico"+n);
os.write(bytes, 0, n);}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!!!!Problemas al visualizar blobs en Fir

Publicado por mario (622 intervenciones) el 11/02/2009 20:08:24
Que bien, si el firefox esta bien hecho :D no como el inche IE jejejeje ok que chido q haya quedado estamos en contacto

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente!!!!Problemas al visualizar blobs en Fir

Publicado por Ronald Lopez (12 intervenciones) el 10/02/2009 19:17:36
y desde fire fox creo que no podria ver la traza de la excepcion completa... Disculpa que no domine muy bien el tema pero es que me parece extraño que funcione para u navgador y para el otro no¡?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar