ASP.NET 如何存取 SQL Server 数据库图片
SQL Server 提供了一个特别的数据类型:image,它是一个包含 binary 数据的类型。下边这个例子就向你展示了如何将文本或照片
放入到数据库中的办法。在这篇文章中我们要看到如何在 SQL Server 中存储和读取图片。
1、建立一个表:
在 SQL SERVER 中建立这样结构的一个表:
列名 类型 目的
ID Integer 主键 ID
IMGTITLE Varchar(50) 图片的标题
IMGTYPE Varchar(50) 图片类型. ASP.net 要以辨认的类型
IMGDATA Image 用于存储二进制数据
2、存储图片到 SQL SERVER 数据库中
为了能存储到表中,你首先要上传它们到你的 Web 服务器上,你可以开发一个 web form,它用来将客户端中 TextBox web
control 中的图片入到你的 WEB 服务器上来。将你的 encType 属性设置为:myltipart/formdata.
Stream imgdatastream = File1.PostedFile.InputStream;
int imgdatalen = File1.PostedFile.ContentLength;
string imgtype = File1.PostedFile.ContentType;
string imgtitle = TextBox1.Text;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
string connstr=((NameValueCollection)Context.GetCon9g("appSettings"))["connstr"];
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand
("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)
VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
SqlParameter paramTitle = new SqlParameter
("@imgtitle", SqlDbType.VarChar,50 );
paramTitle.Value = imgtitle;
command.Parameters.Add( paramTitle);
SqlParameter paramData = new SqlParameter( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData );
SqlParameter paramType = new SqlParameter( "@imgtype", SqlDbType.VarChar,50 );