Recuperar imagenes desde tabla BD
Publicado por Enrique (1 intervención) el 05/09/2003 00:16:44
Amigos, tengo una tabla con un campo BLOB que almacena imagenes (archivo), pero tengo problemas para rescatar el valor del campo.
Por ej.
SELECT arch_imagen into v_imgblob from tabla where id_img=1
Cambie lo anterior por un codigo que encontré:
DECLARE
vblob BLOB;
buf RAW(32000);
buf_size INTEGER := 32000;
offset INTEGER := 1;
len NUMBER;
mime_type VARCHAR2(30);
BEGIN
SELECT OBJECT INTO vblob FROM FILESTORE
WHERE ID=ID_IMG;
owa_util.mime_header('image/gif');
len:=dbms_lob.getlength(vblob);
WHILE offset < len
LOOP
dbms_lob.read(vblob,buf_size,offset,buf);
htp.prn(utl_raw.cast_to_varchar2(buf));
offset:=offset+buf_size;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
null;
END;
Pero esto solo me muestra el codigo binario de la imagen, que me falta para que se genere el el GIF???? Ayuda por favor.
Enrique
Por ej.
SELECT arch_imagen into v_imgblob from tabla where id_img=1
Cambie lo anterior por un codigo que encontré:
DECLARE
vblob BLOB;
buf RAW(32000);
buf_size INTEGER := 32000;
offset INTEGER := 1;
len NUMBER;
mime_type VARCHAR2(30);
BEGIN
SELECT OBJECT INTO vblob FROM FILESTORE
WHERE ID=ID_IMG;
owa_util.mime_header('image/gif');
len:=dbms_lob.getlength(vblob);
WHILE offset < len
LOOP
dbms_lob.read(vblob,buf_size,offset,buf);
htp.prn(utl_raw.cast_to_varchar2(buf));
offset:=offset+buf_size;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
null;
END;
Pero esto solo me muestra el codigo binario de la imagen, que me falta para que se genere el el GIF???? Ayuda por favor.
Enrique
Valora esta pregunta


0