首页 新闻 会员 周边 捐助

asp.net 关于字段类型为image的问题

0
悬赏园豆:20 [已解决问题] 解决于 2013-04-27 10:51

我数据库字段设置的是IMAGE类型。  也就是存入的是二进制。Webservice读出来的是 

数据库是

我现在想实现的是,Webservice里面如何读出来的是和数据库的一样。

最初的、天空的主页 最初的、天空 | 初学一级 | 园豆:40
提问于:2013-04-23 15:18
< >
分享
最佳答案
0

数据库的image类型是二进制的,但是显示的是16进制的,所以读取出来的时候是byte[]数组类型,要做一个转换,把Byte[]转为二进制或者16进制

收获园豆:20
九九哥 | 初学一级 |园豆:182 | 2013-04-23 16:16

能给个例子吗? 谢谢

最初的、天空 | 园豆:40 (初学一级) | 2013-04-23 17:54
 string strResult = string.Empty;
//dr["Photo"]即为从数据库读取到datatable中的image字段
                if (!string.IsNullOrEmpty(dr["Photo"].ToString()))
                {
                    byte[] photo = (byte[])dr["Photo"];
                    if (photo.Length > 0)
                    {
                        for (int i = 0; i < photo.Length; i++)
                        {
                            strResult = byteToHexStr(photo);
                        }
                    }
                }

//byte[]转16进制
public static string byteToHexStr(byte[] bytes)
        {
            StringBuilder sb = new StringBuilder();
            if (bytes != null)
            {
                for (int i = 0; i < bytes.Length; i++)
                {
                    sb.Append(bytes[i].ToString("X2"));
                }
            }
            return sb.ToString();
        }

 

@最初的、天空: 

九九哥 | 园豆:182 (初学一级) | 2013-04-24 20:50
其他回答(2)
0

在读取数了数据库之后,你收到的还是一个二进制数据,你在转换之前把它提取出来就行了。

雨之秋水 | 园豆:649 (小虾三级) | 2013-04-23 16:17

能给个例子吗? 谢谢

支持(0) 反对(0) 最初的、天空 | 园豆:40 (初学一级) | 2013-04-23 17:55
0

从数据读取出来的时候 应该按照IMAGE 类型读取吧 这样就可以得到对象

我猜的

互联网Fans | 园豆:344 (菜鸟二级) | 2013-04-24 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册