分太少,给个思路。不能直接绑定,用模板<img scr=XXX.aspx>,类似于图片连接,在XXX.aspx中设置网页类型,在将流写到网页中。
你能回答这个问题再告诉你详细答案:long raw 是二进制数据,BLOB也是二进制数据,但OleDbCommand提示不支持对Oracle二进制字段的查询(我的问题和你一样,也是保存图片),查询语句中不包括图片字段,command执行就不出错。OracleConntection用过没有,好象也有问题,数据库是8.05及8i。
你能回答这个问题再告诉你详细答案:long raw 是二进制数据,BLOB也是二进制数据,但OleDbCommand提示不支持对Oracle二进制字段的查询(我的问题和你一样,也是保存图片),查询语句中不包括图片字段,command执行就不出错。OracleConntection用过没有,好象也有问题,数据库是8.05及8i。
<img src='ImageView.aspx?PKID=13' width="180" height="240">
对应ImageView.aspx中的代码
ImageView.aspx.aspx.cs中代码
strPKID=Request["PKID"];
intPKID=Int32.Parse(Request["BasicImagePKID"]);
objDataSet=(new BasicSystem()).R_GetAllBasicImagesInfoByPKId(intPKID);
Response.ContentType="image/jpeg";
Response.BinaryWrite((byte[])objDataSet.Tables[0].DefaultView[0].Row["ImageData"]);
Response.End();
{
if (barrData.Length > 0)
{
try
{
string sFileName = "hello+ GetExtName(barrData);
SaveImageToFile("c:\\Inetpub\\wwwRoot\\jywebapp\\temp\\"+sFileName,barrData);
img.ImageUrl = "http://192.168.10.27/jywebapp/temp/" + sFileName;
}
catch
{
}
}
else
{
img.ImageUrl = "";
}
}
private void SaveImageToFile(string FilePath,byte[] Image)
{
try
{
FileStream fs = new FileStream(@FilePath,FileMode.OpenOrCreate,FileAccess.Write);
fs.Write(Image,0,Image.Length);
fs.Close();
}
catch
{
}
}private string GetExtName(byte[] Image)
{
string sExtName = "";
if (Image.Length <= 11)
return "";
switch (Image[0])
{
case 0x42: if (Image[1] == 0x4d)sExtName = ".bmp"; break;
case 0x47: if ((Image[1] == 0x49) && (Image[2] == 0x46)) sExtName = ".gif";break;
case 0xff: if ((Image[1] == 0xd8) sExtName = ".jpg";break;
default:sExtName = "";break;
}
return sExtName; } private void btnSend_Click(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(@File1.Value, FileMode.OpenOrCreate, FileAccess.Read);
byte[] barrData = new byte[fs.Length];
fs.Read(barrData, 0, System.Convert.ToInt32(fs.Length));
fs.Close(); }
}