ASP.NET中怎么向数据库中存取图片

  介绍

今天就跟大家聊聊有关ASP。网中怎么向数据库中存取图片,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强>第一步:首先在数据库创建一个名为“图像”的表,代码如下:

CREATE  TABLE 图像   (,   Roll_no  varchar (12), primary 键,   Name_File  varchar (100),   Extension  varchar (100),,,   img  varbinary (max),,   Img_date  datetime    )

可以看到这个表存储了这些内容:图片的登记号,文件名,文件扩展名,二进制数据以及上传时间。

 ASP。网中怎么向数据库中存取图片

<强>第二步:强然后打开Visual Studio,创建一个空网站,命名为“ImageToBinary”。

<强>第三步:再添加一个新页面,命名为“转换。aspx "

 ASP。网中怎么向数据库中存取图片

在这个页面我们拖进文本框,FileUpload,按钮这三个控件。

界面如图:

 ASP.NET中怎么向数据库中存取图片

当然你也可以选择在转换。apsx文件直接输入这串代码:

文件序号   & lt; asp: TextBox  ID=皌xtrollno", runat=皊erver"比;   & lt;/asp: TextBox>   & lt; br /比;      选择文件   & lt; asp: FileUpload  ID=癋ileUpload1", runat=皊erver",/比;   & lt; br /比;      & lt; asp: Button  ID=癇utton1", runat=皊erver"   文本=吧洗?OnClick=癇utton1_Click",/在

<强>第四步:强控件添加后,双击按钮,进入Conversion.apxs。cs文件,添加以下命名空间:

using 系统;   using  System.Data;   using  System.Data.SqlClient;   using 先;   using 包含

然后在Button1_Click内编写代码,将图片转换为二进制流并通过SQL语句保存到数据库中。

代码如下:

protected  void  Button1_Click (object ,发送方,EventArgs  e)   {   ,if  (! FileUpload1.HasFile),   {才能   Response.Write才能(“未选择文件“);   返回才能;   ,,}         其他的才能   {才能//才能创建访问上传文件的对象,并获取上传的文件   HttpPostedFile 才能;file =, FileUpload1.PostedFile;//才能获取上传文件的文件名和扩展名   string 才能;filename =, Path.GetFileName (FileUpload1.PostedFile.FileName);,   string 才能;extension =, Path.GetExtension(文件名),,   ,,//才能实例化一个字节数组,其长度等于上传文件的长度   ,,byte [], imagetype =, new 字节(file.ContentLength);   ,,//将才能文件数据读取到字节数组中   file.InputStream.Read才能(imagetype, 0,, file.ContentLength),,//才能判断图片格式   if 才能;((==extension “.jpg"), | |, (==extension “.png"), | |, (==extension “.gif"), | |, (==extension “.bmp"))   {才能   ,,//表里写入数据   ,,using  (SqlConnection  connection =, new  SqlConnection (“Data 源=afod3 - 609221015; Initial 目录=MyData; Integrated 安全=True"))   ,,{      ,,connection.Open ();   ,,SqlCommand  cmd =, new  SqlCommand ();   ,,cmd.Connection =,连接;      ,,string  commandText =,“Insert  into  Images  values  (@image, @Rollno, @img,获取当前日期())“;      ,,cmd.CommandText =, commandText;   ,,cmd.CommandType =, CommandType.Text;      ,,cmd.Parameters.Add (“@image",, SqlDbType.VarBinary);   ,,cmd.Parameters [“@image"] .Value =, imagetype;      ,,cmd.Parameters.Add (“@Rollno",, SqlDbType.VarChar);   ,,cmd.Parameters [“@Rollno"] .Value =, txtrollno.Text;      ,,cmd.Parameters.Add (“@img",, SqlDbType.VarChar);   ,,cmd.Parameters [“@img"] .Value =, txtrollno.Text;         ,,cmd.ExecuteNonQuery ();   ,,cmd.Dispose ();   ,,connection.Close ();      ,,Response.Write(“导入成功“);   ,,}   ,,}   其他的才能   {才能   ,,Response.Write(“导入失败“);,返回;   ,,}   以前,,}

运行结果如图:

 ASP。网中怎么向数据库中存取图片

ASP.NET中怎么向数据库中存取图片