文件上传到数据库的例子。
aspx页中加入文件组件。
using System; 
using System.Web; 
using System.IO; 
using System.Data; 
using System.Data.SqlClient; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.HtmlControls; 
namespace UploadImage 

public class UploadImage : Page 

protected HtmlInputFile UP_FILE; //HtmlControl、WebControls控件对象 
protected TextBox txtDescription; 
protected Label txtMessage; 
protected Int32 FileLength = 0; //记录文件长度变量 
protected void Button_Submit(System.Object sender, System.EventArgs e) 

HttpPostedFile UpFile = UP_FILE.PostedFile; //HttpPostedFile对象,用于读取图象文件属性 
FileLength = UpFile.ContentLength; //记录文件长度 
try 

if (FileLength == 0) 
{ //文件长度为零时 
txtMessage.Text = "<b>请你选择你要上传的文件</b>"; 

else 

Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组 
Stream StreamObject = UpFile.InputStream; //建立数据流对像 
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度 
StreamObject.Read(FileByteArray,0,FileLength); 
//建立SQL Server链接 
SqlConnection Con = new SqlConnection("Data Source=Localhost;Initial Catalog=testdb;User ID=sa;Pwd=;"); 
String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) valueS (@Image, @ContentType, @ImageDescription, @ImageSize)"; 
SqlCommand CmdObj = new SqlCommand(SqlCmd, Con); 
CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).value = FileByteArray; 
CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).value = UpFile.ContentType; //记录文件类型 
//把其它单表数据记录上传 
CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).value = txtDescription.Text; 
//记录文件长度,读取时使用 
CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).value = UpFile.ContentLength; 
Con.Open(); 
CmdObj.ExecuteNonQuery(); 
Con.Close(); 
txtMessage.Text = "<p><b>OK!你已经成功上传你的图片</b>";//提示上传成功 


catch (Exception ex) 

txtMessage.Text = ex.Message.ToString(); 
}
}
}
}