首页  »   ASP.NET

关于图片变换二进制的疑问

网友分享于:2013-12-11  浏览:5次
关于图片转换二进制的疑问
如题,在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转换成为了图片还是一个路径?求大神指点,可能我有点晕了所以措辞混杂

------解决方案--------------------
看这个byte的长度,没有路径会超过300个字符。
------解决方案--------------------
引用:
Quote: 引用:

看这个byte的长度,没有路径会超过300个字符。
那么我该怎么在imageurl中将这一组byte数据识别成图片呢?

看你是怎么写进去的了,以什么格式写的。你的代码假设了它是jpg格式的。

相关解决方案

最新解决方案