ازاى يا جماعة اعرض صورة متخزنة فى الداتا بيز فى الصفحة
how to display an image stored in a database as byte array into image control in the web form using C# and ASp.net
i have the following table in the sql database that contains the image
create table clients
(
clientid int not null identity (1,1) constraint client_Id primary key ,
clientname varchar(50) not null unique,
logo image
)
محدش يقوللى اكتبها فى السيرفير وبعدين اعرضها فى image control علشان العملية دى مش هاتنفع معايا لان الموقع بيتعامل مع صور كتيرة جدا وهايبقى load على السيرفير وكمان هاتبقى بطيئة جدا
المشكلة ان علشان اعرضها لازم يكون ليها image url فازاى يكون للصورة دى اللى جايبها من الداتا بيز image URL
فكرت انى اعملها فى generic handler كالتالى
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
string connstr = WebConfigurationManager.AppSettings["connStr"];
SqlConnection conn = new SqlConnection(connstr);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
string sql = "Select logo from clients where clientname=@cname";
cmd.Parameters.Add("@cname", SqlDbType.VarChar,50).Value = context.Request.QueryString["name"];
cmd.CommandText = sql;
cmd.Prepare();
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
context.Response.BinaryWrite((byte[])dr["logo"]);
dr.Close();
conn.Close();
}
public bool IsReusable
{
get
{
return false;
}
}
}
بس بعدين اعرضها ازاى؟؟
او ياريت لو فيه افكار تانية
Thanks