首页 > 数据库 > Oracle > 正文

在Oracle 9ias中如何显示存在Oracle 数据库中的图片

2024-08-29 13:37:52
字体:
来源:转载
供稿:网友

   create table user_m
   (
   userid varchar2(10),
   photo blob
  
   );
  
  
   PRocedure get_img(vuserid varchar2) is
   vblob blob;
   buffer raw(32000);
   buffer_size integer := 32000;
   offset integer := 1;
   length number;
   begin
   owa_util.mime_header('image/gif');
   select photo into vblob from user_m where userid = vuserid;
   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;
  解释:
  在配置好pl/sql网关后,就可以调用这个存储过程例如:get_img?vuserid=1000
  这里用到blob字段类型和对blob进行read操作的dbms_lob.read,以及在浏览器中
  显示过程htp.prn,owa_util.mime_header('image/gif')这个过程提示告诉浏览器
  显示的是一个图片。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表