在使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来 一,上传并存入sqlserver 数据库结构 create table test { id identity ( 1 , 1 ), FImage image } 相关的存储过程 Create proc UpdateImage ( @UpdateImage Image ) As Insert Into test(FImage) values ( @UpdateImage ) GO 在upphoto.aspx文件中添加如下: < input id = "UpPhoto" name = "UpPhoto" runat = "server" type = " file " > < asp:Button id = "btnAdd" name = "btnAdd" runat = "server" Text = "上传" ></ asp:Button > 然后在后置代码文件upphoto.aspx.cs添加btnadd按钮的单击事件处理代码: private void btnAdd_Click(object sender, System.EventArgs e) { // 获得图象并把图象转换为byte [] HttpPostedFile upPhoto = UpPhoto.PostedFile; int upPhotoLength = upPhoto.ContentLength; byte [] PhotoArray = new Byte [ upPhotoLength ] ; Stream PhotoStream = upPhoto.InputStream; PhotoStream. Read (PhotoArray, 0 ,upPhotoLength); // 连接数据库 SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source = localhost; Database = test; User Id = sa;Pwd = sa"; SqlCommand cmd = new SqlCommand("UpdateImage",conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters. Add (" @UpdateImage ",SqlDbType. Image ); cmd.Parameters [ "@UpdateImage" ] .Value = PhotoArray; // 如果你希望不使用存储过程来添加图片把上面四句代码改为: // string strSql = " Insert into test(FImage) values ( @FImage )"; // SqlCommand cmd = new SqlCommand(strSql,conn); // cmd.Parameters. Add (" @FImage ",SqlDbType. Image ); // cmd.Parameters [ "@FImage" ] .Value = PhotoArray; conn. open (); cmd.ExecuteNonQuery(); conn. Close (); } 二,从sqlserver中读取并显示出来 在需要显示图片的地方添加如下代码: < asp: image id = "imgPhoto" runat = "server" ImageUrl = "ShowPhoto.aspx" ></ asp: image > showphoto.aspx主体代码: private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { SqlConnection conn = new SqlConnection() conn.ConnectionString = "Data Source = localhost; Database = test; User Id = sa;Pwd = sa"; string strSql = " select * from test where id = 2 "; // 这里假设获取id为2的图片 SqlCommand cmd = new SqlCommand() reader. Read (); Response.ContentType = "application / octet - stream"; Response.BinaryWrite((Byte [] )reader [ "FImage" ] ); Response. End (); reader. Close (); } }