科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在Oracle 9ias中如何显示存在Oracle 数据库中的图片

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

   create table user_m    (    userid varchar2(10),    photo blob       );          procedure get_img(vuserid varchar2) is   

作者:中国IT实验室 来源:中国IT实验室 2007年10月7日

关键字: 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

   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')这个过程提示告诉浏览器
  显示的是一个图片。
  
  

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件