使用 ASP/C# 在 MYSQL 中显示 blob 图像

本文关键字:显示 blob 图像 MYSQL ASP 使用 | 更新日期: 2023-09-27 18:31:10

我需要使用 C# 在 ASP 页面中使用 ODBC 连接将存储在 mysql 数据库中的图像显示为 blob 字段。请帮助我

<%@ WebHandler Language="C#" Class="stdImg" %>

使用系统;使用系统网;

公共类标准Img : IHttpHandler{

public void ProcessRequest(HttpContext context)
{

    System.Data.Odbc.OdbcConnection con = new System.Data.Odbc.OdbcConnection();
    con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sis"].ConnectionString;

    con.Open();
    System.Data.Odbc.OdbcCommand cmd = con.CreateCommand();
    cmd.CommandText = "SELECT PHOTOGRAPH FROM student_mast WHERE ADMISSION_NO='1000000001'";

    byte[] buf = (byte[])cmd.ExecuteScalar();

    context.Response.Clear();
    context.Response.OutputStream.Write(buf, 0, buf.Length);
    context.Response.ContentType = "image/jpeg";
    context.Response.BinaryWrite(buf);
}
public bool IsReusable
{
    get
    {
        return false;
    }
}

}

使用 ASP/C# 在 MYSQL 中显示 blob 图像

像这样使用连接字符串

<add name="MYSQLConnectionString" connectionString="Driver={MySQL ODBC 3.51 Driver};database=DB;option=0;pwd=pwd;port=3306;server=yourserver;uid=user;sslverify=0"
   providerName="System.Data.Odbc" />

首先安装 MYSQl 的 ODBC 驱动程序

这是下载链接

http://dev.mysql.com/downloads/connector/odbc/3.51.html

更新使用数据网格并连接到数据库,并在数据网格中使用此代码

 <asp:TemplateColumn  HeaderText="Image">
         <ItemTemplate >
            <img runat="server" 
                 src='<%# "getImage.aspx?ID=" + DataBinder.Eval(Container.DataItem, 
                 "ImageIdentity")  %>' ID="Img1"/>
         </ItemTemplate>
     </asp:TemplateColumn>

验证图像字段名称