假设存图片的表为
image:
xh      varchar2(5)
photo   blobstring sXH = "12345"
OracleConnection conn = new OracleConnection("Password=test;User ID=test;Data Source=test");
string sSQL = "select photo from image where xh = '"+sXH+"'";
OracleDataAdapter adt = new OracleDataAdapter(sSQL,conn);
DataSet ds = new DataSet();
adt.Fill(ds);
//写临时文件
Byte[] FileByteArray;
object aaa = ds.Tables[0].Rows[0]["photo"];
FileByteArray = (Byte[])aaa;
string sPath = @"C:\result.jpg";
FileStream fs = new FileStream(sPath,FileMode.OpenOrCreate,FileAccess.Write,FileShare.None);
fs.Write(FileByteArray,0,FileByteArray.Length);
fs.Flush();
fs.Close();
Image.ImageUrl = sPath;

解决方案 »

  1.   

    /把图片读到pictureBox,再写入数据库SqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
    conn.Open();
    SqlCommand cmd=new SqlCommand("insert into fuser values ('1a','1b',@i)",conn);
    byte[] ib=new Byte[60000];
    FileStream fs=new FileStream(@"D:\windows temp\temp\1.jpg",FileMode.Open ,FileAccess.Read );
    fs.Read(ib,0,60000);
    cmd.Parameters.Add("@i",SqlDbType.Image,(int)fs.Length);
    cmd.Parameters["@i"].Value=ib;
    cmd.ExecuteNonQuery();
    conn.Close();-------------------------------------------------------
    //从数据库读图片到pictureboxSqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
    conn.Open();
    SqlCommand cmd=new SqlCommand("select 照片 from fuser where password='1b'",conn);
    SqlDataReader reader=cmd.ExecuteReader();
    reader.Read();
    MemoryStream buf=new MemoryStream((byte[])reader[0]);
    Image image=Image.FromStream(buf,true);
    pictureBox1.Image=image;
      

  2.   

    显示页面:PAGELOAD中
    Response.ContentType = "Application/octet-stream"
    Response.Clear()
    Response.AddHeader("Content-Disposition", " filename=" + Session("sFileName"))
    Response.BinaryWrite(Session("Buffer"))
    Response.End()要打开的页面上一BUTTON点击
    commSelect.Connection.Open()
    readData = commSelect.ExecuteReader
    readData.Read()Buffer = readData("FILEDATA")dgdConn.Close()Session("Buffer") = Buffer
    Session("sFileName") = sFileName
    message = "<script>window.open('/66.aspx' ,target='_blank');" _
    & "</script>"If (Not IsClientScriptBlockRegistered("message")) Then
    RegisterClientScriptBlock("message", message)
    End If