从数据库中读取以二进制存储的图片信息问题

bitiwgy 2009-05-25 05:26:07
首先,将图片信息转成二进制存到数据库中,具体程序如下:
protected void btnSend_Click(object sender, EventArgs e)
{
string bookid = txtName.Text;
string picname = fupPicturePath.FileName; //获取文件名
string lastName = picname.Substring(picname.LastIndexOf(".") + 1); //获取文件后缀名
SqlConnection sqlconn = new SqlConnection(Constring);
sqlconn.Open();
//判断上传文件的格式
if (lastName.ToLower() == "bmp" || lastName.ToLower() == "jpg" || lastName.ToLower() == "gif")
{
int len = fupPicturePath.PostedFile.ContentLength; //获取文件的大小
Byte[] pictureData = new Byte[len];
HttpPostedFile htp = fupPicturePath.PostedFile;
Stream srm = htp.InputStream;
srm.Read(pictureData, 0, len); //读取到pictureData中
SqlCommand mycmd = new SqlCommand("update tb_Book set CoverPic='"+ @pictureData +"',pictureName='"+picname+"'where BookId='"+txtName.Text+"'",sqlconn);
mycmd.Parameters.Add("@pictureData", SqlDbType.Image); //指定类型
mycmd.Parameters["@pictureData"].Value = pictureData; //设置参数值
mycmd.ExecuteNonQuery();
gvBind(); //重新绑定GridView
sqlconn.Close();

}
else
RegisterStartupScript("false", "<script>alert('图片格式不正确!!')</script>");
}

然后,我在另外一个页面中,读取已经存储的图片信息,具体代码如下:
SqlConnection conn = new SqlConnection(Constring);
conn.Open(); //打开数据库连接
string bid = Request.QueryString["bookid"];
string sqlcon = "select * from tb_Book where BookId='" + bid + "'";
SqlCommand com = new SqlCommand(sqlcon, conn);
SqlDataReader sdr = com.ExecuteReader();
sdr.Read(); //读取数据
//将二进制写入到输出流
Response.BinaryWrite((Byte[])sdr["CoverPic"]);
sdr.Close();
conn.Close();

现在问题是,我有一个image服务器控件,如何将输出的图片信息显示出来,现在运行后,页面上已经显示出System.Byte[]

...全文
305 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bitiwgy 2009-05-27
  • 打赏
  • 举报
回复
没人能帮我!!!!
newdigitime 2009-05-26
  • 打赏
  • 举报
回复
sdr["CoverPic"]的确是二进制图片流?

那在 Response.BinaryWrite((Byte[])sdr["CoverPic"])之前加入
Response.ContentType = "image/jpeg"试试

Response.ContentType = "image/jpeg";
Response.BinaryWrite((Byte[])sdr["CoverPic"]);
Response.End();
bitiwgy 2009-05-26
  • 打赏
  • 举报
回复
没有人知道吗?别看代码长,只是个小问题。。。。。
bitiwgy 2009-05-26
  • 打赏
  • 举报
回复
这也算是一个技术亮点,我做毕设呢
yitianlige 2009-05-26
  • 打赏
  • 举报
回复
干吗村数据库?
bitiwgy 2009-05-26
  • 打赏
  • 举报
回复
存入数据库的格式没有问题啊,是image格式,现在的问题是如何把读出来的数据绑到image控件上。。。。。
newdigitime 2009-05-26
  • 打赏
  • 举报
回复
如果不行,只能考虑你存入数据库数据格式不对
newdigitime 2009-05-26
  • 打赏
  • 举报
回复
你显示图片的html标签是怎么写的?

一般应该写成<img src=xxx.aspx />
bitiwgy 2009-05-26
  • 打赏
  • 举报
回复
我试了,还是不行。加完以后,页面不显示了,只显示空白页,上面有System.Byte[]这么一行。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧