sql >> Database >  >> RDS >> Sqlserver

Afbeelding ophalen uit database in asp.net

Maak een generic http handler als volgt

using System;
using System.Configuration;
using System.Web;
using System.IO;
using System.Data;
using System.Data.SqlClient;

public class ShowImage : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
       Int32 empno;
       if (context.Request.QueryString["id"] != null)
          empno = Convert.ToInt32(context.Request.QueryString["id"]);
       else
          throw new ArgumentException("No parameter specified");

       context.Response.ContentType = "image/jpeg";
       Stream strm = ShowEmpImage(empno);
       byte[] buffer = new byte[4096];
       int byteSeq = strm.Read(buffer, 0, 4096);

       while (byteSeq > 0)
       {
           context.Response.OutputStream.Write(buffer, 0, byteSeq);
           byteSeq = strm.Read(buffer, 0, 4096);
       }       
       //context.Response.BinaryWrite(buffer);
    }

    public Stream ShowEmpImage(int empno)
    {
         string conn = ConfigurationManager.ConnectionStrings["EmployeeConnString"].ConnectionString;
         SqlConnection connection = new SqlConnection(conn);
         string sql = "SELECT empimg FROM EmpDetails WHERE empid = @ID";
         SqlCommand cmd = new SqlCommand(sql,connection);
         cmd.CommandType = CommandType.Text;
         cmd.Parameters.AddWithValue("@ID", empno);
         connection.Open();
         object img = cmd.ExecuteScalar();
         try
        {
            return new MemoryStream((byte[])img);
        }
        catch
        {
            return null;
        }
        finally
       {
            connection.Close();
       }
    }

    public bool IsReusable
    {
        get
        {
             return false;
        }
    }


}

en geef het beeld als volgt weer

 Image1.ImageUrl = "~/ShowImage.ashx?id=" + id;

Er zijn enkele links hieronder
Afbeelding in GridView uit de database tonen?
Hoe een afbeelding in de database tonen in het beeldbeheer van Asp.net?
Afbeelding uit de database in ASP.net weergeven met C#
http://www.dotnetcurry.com/ShowArticle.aspx?ID=129



  1. Hoe te rangschikken over partitie in MySQL

  2. SQL Server-fout - HRESULT E_FAIL is geretourneerd door een aanroep naar een COM-onderdeel

  3. Zoek de maximale opeenvolgende jaren voor elke ID in een tabel (Oracle SQL)

  4. Alleen PostgreSQL in het geheugen uitvoeren