使用asp.net中的Eval函数显示图像

时间:2015-08-06 12:09:14

标签: asp.net sql-server eval

我想在Sql Table中显示我已存储为byte的图像。

ItemTemplate代码

ImageUrl=<%# Eval("Image")%> 

图像是来自sql server的字节。在我的应用程序中无法显示来自服务器的图片。

SQL架构:[Image] [image] NULL

请建议如何显示图像。

1 个答案:

答案 0 :(得分:0)

好像你已经尝试过,你可能有一些有用的链接。不过,你走了。

<强>以下步骤: -

1.要从数据库中检索图像,首先将datatypeImage更改为nvarchar(550)

2.您需要根据 ID

编写代码获取图像
protected void Page_Load(object sender, EventArgs e)
{
    if (Request.QueryString["ImageID"] != null)
    {
        string strQuery = "select ImageName, ImagePath, ImageData from youtableName where id=@id";
        SqlCommand cmd = new SqlCommand(strQuery);
        cmd.Parameters.Add("@id", SqlDbType.Int).Value = Convert.ToInt32(Request.QueryString["ImageID"]);
        DataTable dt = GetData(cmd);
        if (dt != null)
        {
            Byte[] bytes = (Byte[])dt.Rows[0]["Data"];
            Response.Buffer = true;
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = dt.Rows[0]["ContentType"].ToString();
            Response.AddHeader("content-disposition", "attachment;filename="
            + dt.Rows[0]["ImageName"].ToString());
            Response.BinaryWrite(bytes);
            Response.Flush();
            Response.End();
        }
    }
}

GetData将是您的数据表值,它将来自数据库。

  1. 要在aspx页面上显示图像,我使用的是ASP.Net Image Control,请参阅下文。
  2. &#13;
    &#13;
    <asp:image id="Image1" runat="server" imageurl="ImageCSharp.aspx?ImageID=1" />
    <asp:image id="Image2" runat="server" imageurl="ImageCSharp.aspx?ImageID=2" />
    <asp:image id="Image3" runat="server" imageurl="ImageCSharp.aspx?ImageID=3" />
    &#13;
    &#13;
    &#13;

    以下是您的完整参考: -

    Display Images from the database using asp.net