如何将二进制转换为byte []?我收到了这个:不能隐式地将类型'System.Data.Linq.Binary'转换为'byte []'

时间:2016-01-04 00:35:23

标签: c# linq wcf

当我试图将Binary(图像从数据库)检索到byte []时,我可以在网页上显示图像。

2 个答案:

答案 0 :(得分:1)

很抱歉没有添加评论,但还没有足够的声誉。

为什么不尝试将图像存储为base-64字符串而不是binary。然后你可以直接在网页中使用字符串文字

<img alt="Embedded Image" src="data:image/png;base64,base64-string-from-database-here" />

如果您想将图片转换为base-64,请使用列出的here (Convert image to base64 using javascript)

步骤

或者在C#中你可以使用与

类似的东西
using (Image image = Image.FromFile(Path))
{                 
    using (MemoryStream m = new MemoryStream())
    {
        image.Save(m, image.RawFormat);
        byte[] imageBytes = m.ToArray();

        // Convert byte[] to Base64 String
        string base64String = Convert.ToBase64String(imageBytes);
        return base64String;
    }                  
}

@nitin-varpe - Convert Image to base64提供

答案 1 :(得分:1)

        Binary binary = roomModel.RoomImage;
         byte[] bytes= binary.ToArray();

        string strBase64= Convert.ToBase64String(bytes);
        Image1.ImageUrl = "data:Image/png;base64," + strBase64;