怎么判断oracle里面的图片是什么格式的(bmp jpeg的两种)?并且如何动态取得里面的图片内容并显示出来?

解决方案 »

  1.   

    这是不可能的,因为我的这个表中有3个Blob字段,而且表结构不能更改的(已成型了)
      

  2.   

    Blob型是:無結構的数据類型、判断”格式”?関注!
      

  3.   

    表结构不需要改,不过是在每个Blob字段的内容流的前部或者后部留出几个字节保存信息罢了————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  4.   

    bmp 的话可以读到流中,在读到TBitMap ,就可以显示在画布中了。jpg存成文件读出来。
    格式要读出来才能分辨
      

  5.   

    再不行的话读文件头,BMP很有特征的,MSDN里有查,jpeg用UltraEdit查一下;
    不过太野蛮。
      

  6.   

    用流读出图片的前几个字节来判断就行了,JPEG的是FF DB .. ..这样的,而BMP的不同。。
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var 
      tempStream: TMemoryStream;
      imageAttribute: array[0..9] of char;
    begin
      tempStream := TMemoryStream.Create;
      try
        with DM.Query2 do begin
          TBlobField(FieldByName('poster')).SaveToStream(tempStream); 
          if tempStream.Position > 0 then
          begin
            tempStream.Position := 0;
            tempStream.ReadBuffer(imageAttribute, 10);
            Edit1.Text := imageAttribute;
          end;
        end;
      finally
        tempStream.Free;
      end;
    end;(注:做了一個TEST、NI自己看看「Edit1.Text」中内容)