介绍如何将图片存入数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本实例主要介绍如何将图片存入数据库。将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类、BinaryReader把图片读成字节的形式,赋给一个字节数组,然后用ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中。主要代码如下:

private void button1_Click(object sender, EventArgs e)

{

openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";

if(openFileDialog1.ShowDialog()==DialogResult.OK)

{

string fullpath =openFileDialog1.FileName;//文件路径

FileStream fs = new FileStream(fullpath, FileMode.Open);

byte[] imagebytes =new byte[fs.Length];

BinaryReader br = new BinaryReader(fs);

imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));

//打开数据库

SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");

con.Open();

SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);

com.Parameters.Add("ImageList", SqlDbType.Image);

com.Parameters["ImageList"].Value = imagebytes;

com.ExecuteNonQuery();

con.Close();

}

}

本实例主要介绍如何从数据库中把图片读出来。实现本实例主要是利用SqlDataReader从数据库中把Image字段值读出来,赋给一个byte[]字节数组,然后使用MemoryStream类与Bitmap把图片读取出来。主要代码如下:

private void button1_Click(object sender, EventArgs e)

{

byte[] imagebytes = null;

//打开数据库

SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");

con.Open();

SqlCommand com = new SqlCommand("select top 1* from tb_09", con);

SqlDataReader dr = com.ExecuteReader();

while (dr.Read())

{

imagebytes = (byte[])dr.GetValue(1);

}

dr.Close();

com.Clone();

con.Close();

MemoryStream ms = new MemoryStream(imagebytes);

Bitmap bmpt = new Bitmap(ms);

pictureBox1.Image = bmpt;

}

本实例主要介绍如何只允许输入指定图片格式。用OpenFileDialog控件打开图片文件,只要将OpenFileDialog控件的Filter属性指定为特定的图片格式即可。例如,打开.bmp文件的图片,主要代码如下:

this.openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp";

在用pictureBox控件输入图片时,要想统一图片大小,只需把控件的SizeMode属性值设为StretchImage即可,StretchImage值表示图像的大小将调整为控件的大小。这样,图片的大小就统一了。

上一页首页下一页

00000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000

下上传图片到数据库,并且读出图片

首先在SQL Server中建立一个图片存储的数库表,ImageData Column为图象二进制数据储存字段

,ImageContentType Column为图象文件类型记录字段,ImageDescription Column为储蓄图

象文件说明字段,ImageSize Column为储存图象文件长度字段,结构如下:

CREATE TABLE [dbo].[ImageStore] (

[ImageID] [int] IDENTITY (1, 1) NOT NULL ,

[ImageData] [image] NULL ,

[ImageContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

[ImageDescription] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,

[ImageSize] [int] NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

*/

//UpLoadImage.aspx程序内容如下:

相关文档
最新文档