1
create table test
( id int,
blob_col blob
)
2 将 'c:\images\aria.gif'文件内容load到blob字段中去
create or replace procedure insert_img as
f_lob bfile;
b_lob blob;
begin
insert into blobs values ( 1, empty_blob() )
return blob_col into b_lob;
f_lob := bfilename( 'c:\images', 'aria.gif' );
dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength(f_lob) );
dbms_lob.fileclose(f_lob);
commit;
end;
3 读blob字段内容
create or replace procedure get_img as
vblob blob;
buffer raw(32000);
buffer_size integer := 32000;
offset integer := 1;
length number;
begin
owa_util.mime_header('image/gif');
select blob_col into vblob from blobs where id = 1;
length := dbms_lob.getlength(vblob);
while offset < length loop
dbms_lob.read(vblob, buffer_size, offset, buffer);
htp.prn(utl_raw.cast_to_varchar2(buffer));
offset := offset + buffer_size;
end loop;
exception
when others then
htp.p(sqlerrm);
end;
create table test
( id int,
blob_col blob
)
2 将 'c:\images\aria.gif'文件内容load到blob字段中去
create or replace procedure insert_img as
f_lob bfile;
b_lob blob;
begin
insert into blobs values ( 1, empty_blob() )
return blob_col into b_lob;
f_lob := bfilename( 'c:\images', 'aria.gif' );
dbms_lob.fileopen(f_lob, dbms_lob.file_readonly);
dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength(f_lob) );
dbms_lob.fileclose(f_lob);
commit;
end;
3 读blob字段内容
create or replace procedure get_img as
vblob blob;
buffer raw(32000);
buffer_size integer := 32000;
offset integer := 1;
length number;
begin
owa_util.mime_header('image/gif');
select blob_col into vblob from blobs where id = 1;
length := dbms_lob.getlength(vblob);
while offset < length loop
dbms_lob.read(vblob, buffer_size, offset, buffer);
htp.prn(utl_raw.cast_to_varchar2(buffer));
offset := offset + buffer_size;
end loop;
exception
when others then
htp.p(sqlerrm);
end;
若能,最好有源代码。感激不尽!!!SOS