Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lấy hình ảnh từ cơ sở dữ liệu trong asp.net

Tạo generic http handler như sau

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;
        }
    }


}

và hiển thị hình ảnh như sau

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

Có một số liên kết bên dưới
Hiển thị hình ảnh trong GridView từ cơ sở dữ liệu?
Làm thế nào để hiển thị hình ảnh trong cơ sở dữ liệu trong kiểm soát hình ảnh của Asp.net?
Hiển thị hình ảnh từ cơ sở dữ liệu trong ASP.net với C #
http://www.dotnetcurry.com/ShowArticle.aspx?ID=129



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn sql cho bảng cây

  2. Tại sao tên bảng trong SQL Server bắt đầu bằng dbo?

  3. Khám phá cơ sở dữ liệu khôi phục máy chủ SQL với tùy chọn khôi phục so với không khôi phục

  4. Cách thêm khóa chính vào bảng hiện có trong SQL Server (ví dụ T-SQL)

  5. Cách TRY_CONVERT () hoạt động trong SQL Server