.aspx page
<asp:Image ID="imb_ProfilePhoto" runat="server" Width="100px" Height="100px" ImageUrl="~/images/user_profile.gif" />
// if you want to use html img tag instead of asp:image control then put this
Make ShowImage.ashx file and write this code
<%@ WebHandler Language="C#" Class="ShowImage" %>
using System;
using System.Web;
using System.IO;
public class ShowImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Int32 empno = 0;
if (context.Request.QueryString["id"] != null )
empno = Convert.ToInt32(context.Request.QueryString["id"]);
context.Response.ContentType = "image/jpeg";
Stream strm = ShowEmpImage(empno);
byte[] buffer = new byte[4096];
if (strm != null)
{
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)
{
Class1 obj = new Class1();
object objImg = obj.FetchPhoto(empno);
// Here fetch your image from database, i used my class method for the same...
try
{
return new MemoryStream((byte[])objImg);
}
catch
{
return null;
}
finally
{
obj = null;
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
To assign default value if there is no database image value available.
imb_ProfilePhoto.ImageUrl = "ShowImage.ashx?id=" + id ;
imb_ProfilePhoto.Attributes["onError"] = "this.onerror=null;this.src='../../images/user_profile.gif';";
in src set your default image url to display.
Enjoy................
<asp:Image ID="imb_ProfilePhoto" runat="server" Width="100px" Height="100px" ImageUrl="~/images/user_profile.gif" />
// if you want to use html img tag instead of asp:image control then put this
<html>
<body>
<img src="<dynamic handler url>" alt="My Username" onError="this.src='../../images/user_profile.gif';" />
</body>
</html>
Make ShowImage.ashx file and write this code
<%@ WebHandler Language="C#" Class="ShowImage" %>
using System;
using System.Web;
using System.IO;
public class ShowImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Int32 empno = 0;
if (context.Request.QueryString["id"] != null )
empno = Convert.ToInt32(context.Request.QueryString["id"]);
context.Response.ContentType = "image/jpeg";
Stream strm = ShowEmpImage(empno);
byte[] buffer = new byte[4096];
if (strm != null)
{
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)
{
Class1 obj = new Class1();
object objImg = obj.FetchPhoto(empno);
// Here fetch your image from database, i used my class method for the same...
try
{
return new MemoryStream((byte[])objImg);
}
catch
{
return null;
}
finally
{
obj = null;
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
To assign default value if there is no database image value available.
imb_ProfilePhoto.ImageUrl = "ShowImage.ashx?id=" + id ;
imb_ProfilePhoto.Attributes["onError"] = "this.onerror=null;this.src='../../images/user_profile.gif';";
in src set your default image url to display.
Enjoy................
No comments:
Post a Comment