如何显示数据库中Image类型的图片
2007-09-29 22:26
495 查看
1.数据库表结构
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Person]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
drop table [dbo].[Person]
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
GO
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CREATE TABLE [dbo].[Person] (
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[PersonID] [int] IDENTITY (1, 1) NOT NULL ,
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[PersonImage] [image] NULL ,
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[PersonImageType] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
GO
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2.显示图片的代码,把下面的代码随便放到一个aspx页面的pageload事件中
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
void GetImageSrcFromDB()
2
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strImageID = Request.QueryString["id"];
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=sa;");
5
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID="
6
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
+ strImageID, myConnection);
7
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
9
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myConnection.Open();
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlDataReader myDataReader;
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(myDataReader.Read())
14
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.Clear();
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//Response.ContentType = myDataReader["PersonImageType"].ToString();
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
19
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
20
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myConnection.Close();
21
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch (SqlException SQLexc)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
24
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.Write(SQLexc.ToString());
25
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
26
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//Response.End();
27
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
3.构造数据,通过上传的方式把图片存入数据库,下面的代码放入一个上传按钮的单击事件中,页面上在加一个上传控件
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//获得图象并把图象转换为byte[]
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
HttpPostedFile upPhoto=UpPhoto.PostedFile;
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
int upPhotoLength=upPhoto.ContentLength;
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
byte[] PhotoArray=new Byte[upPhotoLength];
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Stream PhotoStream=upPhoto.InputStream;
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
PhotoStream.Read(PhotoArray,0,upPhotoLength);
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//连接数据库
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SqlConnection conn=new SqlConnection();
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
conn.ConnectionString="Data Source=localhost;Database=mxh;User Id=sa;Pwd=sa";
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
string strSql="Insert into Person(PersonImage,PersonImageType) values(@FImage,'jpeg')";
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SqlCommand cmd=new SqlCommand(strSql,conn);
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.CommandType=CommandType.Text ;
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//如果你希望不使用存储过程来添加图片把上面四句代码改为:
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//SqlCommand cmd=new SqlCommand(strSql,conn);
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.Parameters.Add("@FImage",SqlDbType.Image);
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.Parameters["@FImage"].Value=PhotoArray;
21
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
conn.Open();
22
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.ExecuteNonQuery();
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
conn.Close();
4.显示图片的代码,建立一个新的aspx页面,然后显示图片
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:Image id="Image1" runat="server" ImageUrl="ReadImage.aspx?id=1"></asp:Image>
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Person]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
drop table [dbo].[Person]
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
GO
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CREATE TABLE [dbo].[Person] (
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[PersonID] [int] IDENTITY (1, 1) NOT NULL ,
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[PersonImage] [image] NULL ,
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
[PersonImageType] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
GO
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2.显示图片的代码,把下面的代码随便放到一个aspx页面的pageload事件中
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
void GetImageSrcFromDB()
2
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
3
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string strImageID = Request.QueryString["id"];
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=sa;");
5
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID="
6
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
+ strImageID, myConnection);
7
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
try
9
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myConnection.Open();
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
SqlDataReader myDataReader;
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if(myDataReader.Read())
14
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.Clear();
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//Response.ContentType = myDataReader["PersonImageType"].ToString();
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
19
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
20
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myConnection.Close();
21
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
catch (SqlException SQLexc)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
24
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.Write(SQLexc.ToString());
25
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
26
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//Response.End();
27
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
3.构造数据,通过上传的方式把图片存入数据库,下面的代码放入一个上传按钮的单击事件中,页面上在加一个上传控件
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//获得图象并把图象转换为byte[]
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
HttpPostedFile upPhoto=UpPhoto.PostedFile;
3
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
int upPhotoLength=upPhoto.ContentLength;
4
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
byte[] PhotoArray=new Byte[upPhotoLength];
5
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Stream PhotoStream=upPhoto.InputStream;
6
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
PhotoStream.Read(PhotoArray,0,upPhotoLength);
7
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//连接数据库
9
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SqlConnection conn=new SqlConnection();
10
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
conn.ConnectionString="Data Source=localhost;Database=mxh;User Id=sa;Pwd=sa";
11
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
string strSql="Insert into Person(PersonImage,PersonImageType) values(@FImage,'jpeg')";
13
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
SqlCommand cmd=new SqlCommand(strSql,conn);
14
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.CommandType=CommandType.Text ;
15
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//如果你希望不使用存储过程来添加图片把上面四句代码改为:
17
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
//SqlCommand cmd=new SqlCommand(strSql,conn);
19
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.Parameters.Add("@FImage",SqlDbType.Image);
20
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.Parameters["@FImage"].Value=PhotoArray;
21
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
conn.Open();
22
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
cmd.ExecuteNonQuery();
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
conn.Close();
4.显示图片的代码,建立一个新的aspx页面,然后显示图片
1
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:Image id="Image1" runat="server" ImageUrl="ReadImage.aspx?id=1"></asp:Image>
相关文章推荐
- 如何显示数据库中Image类型的图片
- 如何显示数据库中Image类型的图片
- 怎样把SQL_SERVER数据库里的(类型是image)图片显示在aspx页面里的image控件里
- 如何将图片以Image类型存储到数据库 如何从数据库中读取Image类型的字段
- 将SQL Server 2000数据库Image类型图片数据显示在页面上
- 如何从数据库中获取image类型的数据,并把它显示出来
- 怎样把SQL_SERVER数据库里的(类型是image)图片显示在aspx页面里的image控件里(转http://dev.csdn.net/article/45/45934.shtm)
- 如何将图片以Image类型存储到数据库 (asp.net) 如何从数据库中读取Image类型的字段(asp.net)
- 如何正确显示数据库中的图片
- 如何读取保存在数据库中的图片显示在DataGrid中
- [django]用requests从url获取图片(数据类型是bytes)后如何在template中显示出来
- Android的ImageView如何显示网络图片资源
- Winform下如何上传图片并显示出来。同时保存到数据库
- devexpress datagrid 与imageEdit以及如何存图片到数据库
- 如何在ImagePickerController中只显示图片或者视频
- MySQL如何存储图片?---一个向数据库存取image文件的jsp程序
- 如何将pictureBox里的图片保存到数据库,然后从数据读取显示
- C# C/S下DataGrid根据数据库里的值(int型)显示ImageList里的图片
- 如何读取保存在数据库中的图片显示在DataGrid中
- 如何在ImagePickerController中只显示图片或者视频?(既视频和图片的筛选)