如何判断从oracle数据库中读取出来的是图像。
我是直接从数据库中读取blob字段,并赋值给一个byte数组。
然后将该数组通过内存流转换成可Emgucv中的格式的图像但是,有时候读出来的byte非空,却不是图像,因此通过内存流转换的时候就会出现异常!那么,究竟该如何判断读取过来的byte不是一张图像呢?

解决方案 »

  1.   

    我就是直接  Byte[] b = (Byte[])rows[i][column_id - 1]; 获取blob字段的数据
    如果是图像的话就
     MemoryStream ms = new MemoryStream(b);  
     Bitmap pictureBlob = new Bitmap(Bitmap.FromStream(ms)); 
    现在,怎么判断是否是一张图像(应该是jpeg格式的图像)
    是要按照 byte数组的前几个字节判断吗?  这个与数据库的保存个是有关吗,还是编码格式之类的有关。
    但是我发现某一个非图像的blob,读到byte中,它的前几个字节和真实图像的前几个字节一样,都是ffd8.