Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在formview中显示图像_C#_Asp.net_.net - Fatal编程技术网

C# 在formview中显示图像

C# 在formview中显示图像,c#,asp.net,.net,C#,Asp.net,.net,我有一个问题,我的照片来自客户签名的数据库 如何使用 显示签名: 您可以使用httphandler检索二进制图像,然后使用src属性将其绑定到一个图像控件。检查此完整示例代码: ImgHandler.ashx: <%@ WebHandler Language="C#" Class="ImgHandler" %> using System; using System.Web; using System.Data.Sql; using System.Data.SqlClient;

我有一个问题,我的照片来自客户签名的数据库

如何使用


显示签名:

您可以使用httphandler检索二进制图像,然后使用src属性将其绑定到一个图像控件。检查此完整示例代码:

ImgHandler.ashx:

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

using System;
using System.Web;
using System.Data.Sql;
using System.Data.SqlClient;


public class ImgHandler : IHttpHandler
{

    public void ProcessRequest (HttpContext context)
    {
        byte[] buffer = null;
        string querySqlStr = "";
        if (context.Request.QueryString["ImageID"] != null)
        {
            querySqlStr="select * from testImageTable where ID="+context.Request.QueryString["ImageID"];
        }
        else
        {
            querySqlStr="select * from testImageTable";
        }
        SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["TestDataBaseConnectionString"].ToString());
        SqlCommand command = new SqlCommand(querySqlStr, connection);
        SqlDataReader reader = null;
        try
        {
            connection.Open();
            reader = command.ExecuteReader();
            //get the extension name of image
            while (reader.Read())
            {
                string name = reader["imageName"].ToString();
                int endIndex = name.LastIndexOf('.');
                string extensionName = name.Remove(0, endIndex + 1);
                buffer = (byte[])reader["imageContent"];
                context.Response.Clear();
                context.Response.ContentType = "image/" + extensionName;
                context.Response.BinaryWrite(buffer);
                context.Response.Flush();
                context.Response.Close();
            }
            reader.Close();

        }
        finally
        {
            connection.Close();
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}

使用制度;
使用System.Web;
使用System.Data.Sql;
使用System.Data.SqlClient;
公共类ImgHandler:IHttpHandler
{
公共void ProcessRequest(HttpContext上下文)
{
字节[]缓冲区=空;
字符串querySqlStr=“”;
if(context.Request.QueryString[“ImageID”]!=null)
{
querySqlStr=“从testImageTable中选择*,其中ID=“+context.Request.QueryString[“ImageID”];
}
其他的
{
querySqlStr=“从testImageTable中选择*”;
}
SqlConnection connection=新的SqlConnection(System.Configuration.ConfigurationManager.ConnectionString[“TestDataBaseConnectionString”].ToString());
SqlCommand=newsqlcommand(querySqlStr,connection);
SqlDataReader=null;
尝试
{
connection.Open();
reader=command.ExecuteReader();
//获取图像的扩展名
while(reader.Read())
{
字符串名称=读卡器[“imageName”]。ToString();
int endIndex=name.LastIndexOf('.');
string extensionName=name.Remove(0,endIndex+1);
缓冲区=(字节[])读取器[“图像内容”];
context.Response.Clear();
context.Response.ContentType=“image/”+扩展名;
context.Response.BinaryWrite(缓冲区);
context.Response.Flush();
context.Response.Close();
}
reader.Close();
}
最后
{
connection.Close();
}
}
公共布尔可重用
{
得到
{
返回false;
}
}
}
Aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <img src="ImgHandler.ashx?ImageID=1" alt="" />
        <img src="ImgHandler.ashx?ImageID=2" alt="" />
        <img src="ImgHandler.ashx?ImageID=3" alt="" />
        <img src="ImgHandler.ashx?ImageID=4" alt="" />

    </div>
    </form>
</body>
</html>

如果您不了解HTTP处理程序,请检查以下引用:


对象

在我看来,图像必须包含在
标记中。您的“SignatureImage”属性是否发出图像标记?该签名的格式是什么。如果是二进制的,您可以保存它,或者将它转换为base64内联图像,或者使用不同的处理程序来显示它
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <img src="ImgHandler.ashx?ImageID=1" alt="" />
        <img src="ImgHandler.ashx?ImageID=2" alt="" />
        <img src="ImgHandler.ashx?ImageID=3" alt="" />
        <img src="ImgHandler.ashx?ImageID=4" alt="" />

    </div>
    </form>
</body>
</html>