Saltar al contenido

Recuperar imagen de la base de datos en asp.net

Deseamos enseñarte la mejor información que hemos encontrado en todo internet. Nosotros queremos que te sirva de ayuda y si deseas comentarnos algún detalle que nos pueda ayudar a perfeccionar nuestra información hazlo con total libertad.

Crear un generic http handler como sigue

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;
        
    



y mostrar la imagen de la siguiente manera

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

Hay algunos enlaces a continuación
¿Mostrando la imagen en GridView desde la base de datos?
¿Cómo mostrar una imagen en la base de datos en el control de imagen de Asp.net?
Mostrar imagen de la base de datos en ASP.net con C#
http://www.dotnetcurry.com/ShowArticle.aspx?ID=129

No creo que este sea el enfoque correcto. No debe incrustar la imagen en html, y esta no es la forma correcta de todos modos.

Sugiero agregar un ashx (controlador genérico) y usarlo para generar la imagen de la consulta stringluego ini la página usa algo como


Si te mola el tema, tienes el poder dejar una reseña acerca de qué le añadirías a este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *