您的位置:首页 > 数据库

在数据库中处理image字段【把图片存储到数据库并显示出来】

2012-06-27 22:23 411 查看
方法简介:

 

保存图片

将图片将图片转换成byte[],并得到MIME类

注:

        string mime = FileUpload1.PostedFile.ContentType;//获取MIME类型

        byte[] data = FileUpload1.FileBytes;//转换成byte[],在此方法有很多,不再一一列举

       
以参数化形式(参数化SQL语句或者存储过程)保存到数据库

注:

       string sql = "insert into FileList(FileData,Mime)values(@FileData,@Mime)";

      
                SqlParameter[] parameters = new SqlParameter[4];

                parameters[0] = new SqlParameter("@FileData", SqlDbType.Image, int.MaxValue);

                parameters[0].Value = data ;

                parameters[1] = new SqlParameter("@Mime", SqlDbType.NVarChar, 50);

                parameters[1].Value = mime ;

显示图片

将字段数据转换成byte[]   //把image字段强制转换即可
以byte[]构造MemoryStream
以MemoryStream在内存中构造图象
显示图片中2、3步的代码实例如下:

//data 为数据库中转换过来的byte[]数组
//mime为string类型的MIME类型

//在得到byte[]和MIME类形后

Response.Clear();//清空所有输出
Response.ContentType = mime;//设置MIME为图象对应的MIME
//因为不存在直接将byte[]转换成图象的方法
//所以利用byte[]来构建内存流对象
MemoryStream memoryStream = new MemoryStream(data);
//利用流对象构建Bitmap对象
Bitmap image = new System.Drawing.Bitmap(memoryStream);
//将Bitmap保存到Response对象的输出流当中
image.Save(Response.OutputStream, ImageFormat.Jpeg);
image.Dispose();//释放Bitmap对象
Response.End();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息