将数据库中的二进制图片保存到本地
数据库中只有字段
[Sample_ImageOID] [uniqueidentifier] NOT NULL ,
[ImageData] [image] NULL
从数据库中读取后,判断文件是否存在(文件名用的是Sample_ImageOID的值)
string Mapath = Server.MapPath( "File/Images/Sample_Image_ImageData/ ");
string fileName=dr[ "Sample_ImageOID "].ToString()+ ".jpg ";
//问题在这里,如何判断这个二进制文件的图片的类型是什么 jpg/gif/bmp??
if(!System.IO.File.Exists(Mapath+ "\\ "+fileName)
{
....
}
------解决方案--------------------文件名用的是Sample_ImageOID的值 文件名没有后缀马?
Sample_ImageOID 与 ImageData 应该是inner Join的关系把,如果是就应该有后缀。
如果没有后缀在ImageData里拿出来就是图片的2进值流,只有用流的头文件去判断什么类型。比如架设jpg的头文件内地36个字节开始是jpg 我只是举例。具体要查相对资料。
还有一个办法。
图片后缀常用的就这么几个jpg,bmp,png等等
你写个try cache的工厂一个一个试
------解决方案--------------------ding
我也遇到同样的问题了