如何显示数据库中的图像 [英] How display images from database

查看:82
本文介绍了如何显示数据库中的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想以表格格式显示图像,
来自数据库
它存储为图像"数据类型的位置.

我不想使用imageurl属性.

I want to display image in table format,
which will come from database
where it stored as ''image'' datatype.

I don''t want to use imageurl property.

推荐答案

您好,圣奥沙,

http://csharpdotnetfreak.blogspot.com/2009/07/display-images- gridview-from-database.html [ ^ ]

http://www.aspsnippets.com/Articles/SQL Server的显示图像-使用ASP.Net.aspx的数据库 [在GridView中显示数据库中的图像 [ ^ ]

祝您玩得开心!
Hi San Osha,

http://csharpdotnetfreak.blogspot.com/2009/07/display-images-gridview-from-database.html[^]

http://www.aspsnippets.com/Articles/Display-Images-from-SQL-Server-Database-using-ASP.Net.aspx[^]

Displaying Images from a Database in a GridView[^]

Have a good time!!!


代码项目中的好文章 [ ^ ]


我在数据库中保存了三种不同格式的图像,即JPEG,GIF和PNG.

请参考下图.

图像如何存储在数据库中


检索图像



为了检索数据库中的图片,我创建了一个图片页面.该页面将收到ImageID作为已保存图像的ID作为QueryString参数.

基于QueryString参数,页面将检索图像并将其写入Response.请参考下面的代码



C#[ImageCSharp.aspx]





受保护的void Page_Load(对象发送者,EventArgs e)

{

如果(Request.QueryString ["ImageID"]!= null)

{

字符串strQuery =从tblFiles中选择名称,内容类型,数据,其中id = @ id";

SqlCommand cmd =新的SqlCommand(strQuery);

cmd.Parameters.Add("@ id",SqlDbType.Int).Value

= Convert.ToInt32(Request.QueryString ["ImageID"]);

DataTable dt = GetData(cmd);

如果(dt!= null)

{

Byte []个字节=(Byte [])dt.Rows [0] ["Data"];

Response.Buffer = true;

Response.Charset =";

Response.Cache.SetCacheability(HttpCacheability.NoCache);

Response.ContentType = dt.Rows [0] ["ContentType"].ToString();

Response.AddHeader("content-disposition","attachment; filename ="

+ dt.Rows [0] [名称"] .ToString());

Response.BinaryWrite(bytes);

Response.Flush();

Response.End();

}

}

}


VB.Net [ImageVB.aspx]



受保护的子Page_Load(ByVal发送者为对象,ByVal e为System.EventArgs)

处理Me.Load

如果Request.QueryString("ImageID")不算什么

Dim strQuery As String =从tblFiles中选择名称,ContentType,数据,其中id = @ id"

Dim cmd As SqlCommand =新的SqlCommand(strQuery)

cmd.Parameters.Add("@ id",SqlDbType.Int).Value

= Convert.ToInt32(Request.QueryString("ImageID"))

Dim dt As DataTable = GetData(cmd)

如果dt不算什么

昏暗bytes()为Byte = CType(dt.Rows(0)("Data"),Byte())

Response.Buffer = True

Response.Charset ="

Response.Cache.SetCacheability(HttpCacheability.NoCache)

Response.ContentType = dt.Rows(0)("ContentType").ToString()

Response.AddHeader("content-disposition","attachment; filename ="

+ dt.Rows(0)(名称").ToString())

Response.BinaryWrite(bytes)

Response.Flush()

Response.End()

如果结束

如果结束

结束子


函数GetData用于从数据库获取数据.要了解如何完成操作,请参见此处.


显示图像

要在aspx页面上显示图像,我使用了ASP.Net Image Control,请参阅下面的内容.



< asp:image ID ="Image1" runat ="server" ImageUrl ="ImageCSharp.aspx?ImageID = 1"/>

< asp:image ID ="Image2" runat ="server" ImageUrl ="ImageCSharp.aspx?ImageID = 2"/>

< asp:image ID ="Image3" runat ="server" ImageUrl ="ImageCSharp.aspx?ImageID = 3"/>





< asp:image ID ="Image1" runat ="server" ImageUrl ="ImageVB.aspx?ImageID = 1"/>

< asp:image ID ="Image2" runat ="server" ImageUrl ="ImageVB.aspx?ImageID = 2"/>

< asp:image ID ="Image3" runat ="server" ImageUrl ="ImageVB.aspx?ImageID = 3"/>



如您在上面所注意到的,我正在传递ImageCSharp.aspx(C#版本)和ImageVB.aspx的URL
(VB.Net版本),它接受ImageID作为QueryString参数.

下图显示了图像的显示方式.

从数据库显示的图像


完整的源代码可在此处与数据库一起使用
I have saved images of three different formats i.e. JPEG, GIF and PNG in the Database.

Refer figure below.

How images are stored in database


Retreive the Images



To retreive pictures from database I have created a Picture Page. The page will receive ImageID as the ID of the Saved image as QueryString Parameter.

Based on the QueryString Parameter, the page will retreive the image and write it to the Response. Refer the Code Below



C# [ImageCSharp.aspx]





protected void Page_Load(object sender, EventArgs e)

{

if (Request.QueryString["ImageID"] != null)

{

string strQuery = "select Name, ContentType, Data from tblFiles where id=@id";

SqlCommand cmd = new SqlCommand(strQuery);

cmd.Parameters.Add("@id", SqlDbType.Int).Value

= Convert.ToInt32 (Request.QueryString["ImageID"]);

DataTable dt = GetData(cmd);

if (dt != null)

{

Byte[] bytes = (Byte[])dt.Rows[0]["Data"];

Response.Buffer = true;

Response.Charset = "";

Response.Cache.SetCacheability(HttpCacheability.NoCache);

Response.ContentType = dt.Rows[0]["ContentType"].ToString();

Response.AddHeader("content-disposition", "attachment;filename="

+ dt.Rows[0]["Name"].ToString());

Response.BinaryWrite(bytes);

Response.Flush();

Response.End();

}

}

}


VB.Net [ImageVB.aspx]



Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Handles Me.Load

If Request.QueryString("ImageID") IsNot Nothing Then

Dim strQuery As String = "select Name, ContentType, Data from tblFiles where id=@id"

Dim cmd As SqlCommand = New SqlCommand(strQuery)

cmd.Parameters.Add("@id", SqlDbType.Int).Value

= Convert.ToInt32(Request.QueryString("ImageID"))

Dim dt As DataTable = GetData(cmd)

If dt IsNot Nothing Then

Dim bytes() As Byte = CType(dt.Rows(0)("Data"), Byte())

Response.Buffer = True

Response.Charset = ""

Response.Cache.SetCacheability(HttpCacheability.NoCache)

Response.ContentType = dt.Rows(0)("ContentType").ToString()

Response.AddHeader("content-disposition", "attachment;filename="

+ dt.Rows(0)("Name").ToString())

Response.BinaryWrite(bytes)

Response.Flush()

Response.End()

End If

End If

End Sub


The function GetData is used to get data from the Database. To find out how it is done refer here.


Display Images

To Display the image on the aspx page I have used ASP.Net Image Control refer below.



<asp:image ID="Image1" runat="server" ImageUrl ="ImageCSharp.aspx?ImageID=1"/>

<asp:image ID="Image2" runat="server" ImageUrl ="ImageCSharp.aspx?ImageID=2"/>

<asp:image ID="Image3" runat="server" ImageUrl ="ImageCSharp.aspx?ImageID=3"/>





<asp:image ID="Image1" runat="server" ImageUrl ="ImageVB.aspx?ImageID=1"/>

<asp:image ID="Image2" runat="server" ImageUrl ="ImageVB.aspx?ImageID=2"/>

<asp:image ID="Image3" runat="server" ImageUrl ="ImageVB.aspx?ImageID=3"/>



As you will notice above I am passing URL of the ImageCSharp.aspx (C# Version) and the ImageVB.aspx
(VB.Net Version) which accepts the ImageID as the QueryString Parameter.

The figure below displays the how the Images are displayed.

Images displayed from database


The complete source code is available with database here


这篇关于如何显示数据库中的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆