Click here to Skip to main content
15,907,326 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi sir
actually i m using ms access database to store image when m storing image its storing in binary long data but when i am retriving image in grid its not diplaying image please help me m struggling alot hear ...
i wrote code in handler to bind the image hear is my code

VB
Public Class Handler : Implements IHttpHandler
    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim qry As String = "select sl,alumni_image from alumnidata where sl=@ID"
        Dim connect As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/backup/SB.mdb;"))

        Using conn As New OleDbConnection(connect)
            If context.Request.QueryString("ID") > 0 Then
                Dim cmd As New OleDbCommand(qry, conn)
                cmd.Parameters.AddWithValue("@ID", context.Request.QueryString("ID"))
                conn.Open()
                Using rdr As OleDbDataReader = cmd.ExecuteReader()
                    If rdr.HasRows Then
                        rdr.Read()
                        'context.Response.AddHeader("content-disposition", "attachment; filename=" & Convert.ToString(rdr("ResumeFileName")))
                        'context.Response.ContentType = rdr("ResumeMime").ToString()
                        context.Response.BinaryWrite(DirectCast(rdr("alumni_image"), Byte()))
                    End If
                End Using
            End If
        End Using
    End Sub
    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

and
XML
<asp:Image ID="Image1" runat="server"  Height="100px" Width="150px"
                                        ImageUrl='<%#Eval("ID", "Handler.ashx?ID={0}")%>' />




please help me sir

thanks in advance

[edit]Code block added - OriginalGriff[/edit]
Posted
Updated 22-Oct-12 21:14pm
v3

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Data.SqlClient;
using System.Data.Common;
using System.IO;

public partial class TestImage : System.Web.UI.Page
{
SqlConnection sqlCon = null;
SqlCommand sqlCmd = null;

protected void Page_Load(object sender, EventArgs e)
{
sqlCon = new SqlConnection(@"Initial Catalog=Demo; Data Source=.\S2005; Integrated security=SSPI; pooling=false");
sqlCon.Open();

if (Request.Params["LoadImage"] == "true")
{
TransferImageData();
}
}

void TransferImageData()
{
try
{
sqlCmd = new SqlCommand("uspImage", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;

object oImage = sqlCmd.ExecuteScalar();

byte[] bt = (byte[])oImage;

Response.Clear();
Response.ContentType = "image/jpeg";
Response.AddHeader("content-disposition", "inline;filename=DBImage.jpg");
Response.Flush();
Response.BinaryWrite(bt);
Response.End();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}

protected void BtnSave_Click(object sender, EventArgs e)
{
try
{
string imageFile = @"E:\Photo.jpg";

sqlCmd = new SqlCommand("uspImage", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;

// The Table Field Must Be Of Type "Image"
sqlCmd.Parameters.Add("@img", File.ReadAllBytes(imageFile));

int recInserted = sqlCmd.ExecuteNonQuery();

Response.Write("Image Saved !");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}







XML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestImage.aspx.cs" Inherits="TestImage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" language="javascript">
        function ShowImage()
        {
            var im = document.getElementById("img");

            im.src = "TestImage.aspx?LoadImage=true";
            im.style.display = "inline";

            return false;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="BtnSave" runat="Server" Text="Save Image" OnClick="BtnSave_Click" />
        <asp:Button ID="BtnShow" runat="Server" Text="Show Image" OnClientClick="return ShowImage();" />
        <br /><br />
        <asp:Image ID="img" runat="Server" style="display: none; height: 400px; width: 400px" />
    </div>
    </form>
</body>
</html>
 
Share this answer
 
sir actually image storing and retrieving using sqlserver but when m trying to use ms access database its not displaying image storing in binary long data but not retrieving image so pleae give any example using ms access database
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900