由于去客户现场采集的图片 需要回来识别 所以需要 从数据库读取blob转为图片。
参考了 别人的博客 成功实现了 做个笔记
下面是代码。
1.创建文件夹变量
create or replace directory MYDIR as 'D:\tang'
2.赋权限
grant read,write on directory MYDIR to user01
3.执行read_blob_pic过程
exec read_blob_pic;
代码如下:
create or replace procedure read_blob_pic is
l_file utl_file.file_type;
l_lob blob;
l_offset int:= 1;
l_amount int:= 32767;
l_len int;
l_buffer raw(32767);
begin
select decode_image into l_lob from BAG_VALIDATE t where bag_validate_id = 4863;
l_file:= utl_file.fopen('MYDIR', 'blood.jpg', 'wb', 32767);
l_len:= dbms_lob.getlength(l_lob);
while l_offset< l_len loop
dbms_lob.read(l_lob, l_amount, l_offset, l_buffer);
utl_file.put_raw(l_file, l_buffer, true);
l_offset:= l_offset+ l_amount;
end loop;
utl_file.fclose(l_file);
end read_blob_pic;
如有不对 请见谅 感恩!那些无私分享的大神!