日期:2014-05-17  浏览次数:20377 次

关于图片转换二进制的疑问
如题,在sqlserver中字段属性为image,某一列值如下

然后在本地asp页面中添加,按照网上的写法,代码如下
  if (!string.IsNullOrEmpty(Request["employeeId"])) //需要显示照片的页面传递的员工id
            {
                string id = Request["employeeId"];
                ArrayList paras = new ArrayList();
                paras.Add(id);
                DataSet data_temp = new DataSet();
                data_temp = this.chaxun(paras);
                try
                {
                    Byte[] byteImg = (Byte[])data_temp.Tables[0].Rows[0]["photo1"];//把数据库中图片的二进制数据转换一个byte数组
                   Stream stream = new MemoryStream(byteImg);
                    System.Drawing.Bitmap img = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromStream(stream, false); //转换成Bitmap  
                    Response.Buffer = false;
                    Response.ContentType = "image/jpg";
                    Response.AddHeader("Content-Disposition", "attachment;filename=photo.jpg");//照片名称叫photo.jpg
                    Response.BinaryWrite(byteImg);//写入二进制流
                    Response.End();
                }
                catch
                {
                    Response.End();
                }
            }



个人监视了一下,得到的byte类型值如下

现在就想知道,这么一组byte类型值是如何转换成图片的,因为接下来获取response的代码
 Imagetx.ImageUrl= "/imgHelper.aspx?employeeId="+ ID;
计算"/imgHelper.aspx?employeeId="+ ID的值为System.Byte[]
没搞明白,上面计算出来的东西到底是将byte转换成为了图片还是一个路径?求大神指点,可能我有点晕了所以措辞混杂