图片是以二进制的形式存到数据库里,现在想把它读出来写道页面上的特定的位置,我打算写到控件上,然后用控件定位,请问大家怎样实现?
下面的Code实现了把图片打到页面上,但是没有实现准确的定位。而且读出的图片失桢。 
Dim dbCmd As OleDbCommand
        Dim dbReader As OleDbDataReader
        Dim strSql As String = "SELECT FILE_PIC FROM M_FILE WHERE BORYUMU_ID = " & Request.QueryString("ID")
        dbCmd = New OleDbCommand(strSql, dbConn)
        dbReader = dbCmd.ExecuteReader
        If dbReader.Read Then
            If Not IsDBNull(dbReader("FILE_PIC")) Then
                Response.ContentType = "image/gif"
                Response.BinaryWrite(dbReader("FILE_PIC"))
            End If
        Else
            Response.Write("aaaaa")
        End If

解决方案 »

  1.   

    <asp:Image id="....." runat="server" />
      

  2.   

    用一个页面单独输出从数据库中读出的图片(我们假设这个页面叫a.aspx),如你现在所做的,然后在你想要用的页面中的任意位置加IMAGE控件,将SRC属性设为a.aspx的路径就行了。至于你说的失真,是不是因为你的图片大小设置和图片本身不吻合,才会发生图片挤压的情况。一般是不会失真的
      

  3.   

    我不太会写vb的代码。用C#代替说明一下下面的代码假设是你提取图片的页面“ImageGen.aspx”private void Page_Load(object sender, System.EventArgs e)
    {
    Dim dbCmd As OleDbCommand
            Dim dbReader As OleDbDataReader
            Dim strSql As String = "SELECT FILE_PIC FROM M_FILE WHERE BORYUMU_ID = " & Request.QueryString("ID")
            dbCmd = New OleDbCommand(strSql, dbConn)
            dbReader = dbCmd.ExecuteReader
            If dbReader.Read Then
                If Not IsDBNull(dbReader("FILE_PIC")) Then
                    Response.ContentType = "image/gif"
                    Response.BinaryWrite(dbReader("FILE_PIC"))
                End If
            Else
                Response.Write("aaaaa")
            End If
    }//////////////////////////
    下面的代码是要显示图片的页面“showimg.aspx”
    在该页面中加入image控件
    <asp:Image id="Image1" runat="server"ImageUrl="ImageGen.aspx"></asp:Image>
      

  4.   

    图片的ID是绑定上的,可是这么写总提示出错,不知道错在哪?
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:Image ID="VolImage1" ImageUrl="ebasew_getPic.aspx?ID='<%# DataBinder.Eval(Container.DataItem, "Col1")%>'" width="100" height="100" Runat="server"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>