保存图片到SQL 2000 Server数据库

作者:袖梨 2022-06-30
在ASP.NET的Web页面中怎样上传文件?怎样使用ADO.NET技术从数据库中读取一幅图片,并在Web页面上显示?

摘要
.NET是由微软开发的一种新型的分布式计算平台,ASP.NET是它针对Web开发的编程模式。本文的目的是在开发数据驱动的ASP.NET Web应用程序中获取一些好的经验。这个应用程序将告诉你怎么把一幅图片保存到数据库中以及怎样把图片从数据库中读取出来。它以ADO.NET作为数据访问机制,C#作为编程语言,SQL 2000 Server作为后台数据库。
概述
一般的,很大的图片文件往往被保存在Web服务器的文件夹中,而不是数据库中。在一些实例中,以银行系统为例,人们先把用户的签名做成图片文件,然后保存到数据库中。
数据库模式
在这个示范中,微软的SQL 2000 Server被用作后台数据库。我使用了一种比较特殊的数据类型 image 。这 image 数据类型是被用来保存图片到数据库的。
所使用的控件:
System.Web.UI.HtmlControls.HtmlInputFile
System.Web.UI.WebControls.TextBox
System.Web.UI.WebControls.Button
所使用的名字空间:
using System.Data.SqlClient;
using System.Drawing;
using System.Data;
using System.IO;
using System.Drawing.Imaging;
编码
使用 HtmlInputFile 类,它可以用 标签来声明一个实例。下面的例子是一个完整的 ASPX 文件,它让用户上传图片文件以及图片的说明。OnUpload 方法把图片以及说明写到iSense 数据库的Picture 表中。
// 保存图片文件到数据库的源码

public void OnUpload(Object sender, EventArgs e)
{
// 从输入文件中创建一个 byte[]
int len = Upload.PostedFile.ContentLength;
byte[] pic = new byte[len];
Upload.PostedFile.InputStream.Read (pic, 0, len);
// 插入图片和说明到数据库中
SqlConnection connection = new
SqlConnection (@"server=INDIAINDIA;database=iSense;uid=sa;pwd=india");
try
{
connection.Open ();
SqlCommand cmd = new SqlCommand ("insert into Image "
+ "(Picture, Comment) values (@pic, @text)", connection);

相关文章

精彩推荐