如何在ASP.NET MVC中使用jQuery显示varbinary图像到html表格?

如何在ASP.NET MVC中使用jQuery显示varbinary图像到html表格?

问题描述:

我试图从SQL表显示varbinary图像HTML中使用jQuery和web服务表中的数据。请帮助我如何转换int以及如何显示它。如何在ASP.NET MVC中使用jQuery显示varbinary图像到html表格?

我的代码是这样的:

Web服务:

[WebMethod] 
public a[] Bindpics() 
{ 
    DataTable dt = ga.retrievedata("select Picture from T_Sam"); 

    List<a> details = new List<a>(); 

    foreach (DataRow dtrow in dt.Rows) 
    { 
     a m = new a(); 
     m.Pic = (byte[])dtrow["Picture"]; 
     details.Add(m); 
    } 

    return details.ToArray(); 
} 

public class a 
{ 
    public byte[] Pic { get; set; } 
} 

的jQuery:

success: function (data) { 
     for (var i = 0; i < data.d.length; i++) { 
      $("#tbDetails").append("<tr><td>" 
       + "<img src=" + "'" + data.d[i].Pic + "'" + " />" + "</td></tr>"); 
     } 

我得到一个错误

无法投类型的对象\ System.DBNull \ u0027键入\ u0027System.Byte [] \ u 0027

它不显示图像。

请帮我把它转换。

+0

在将dbnull分配给属性之前,请检查它。也是在jquery的,除非PIC是一个URL,那么你就需要使用[数据URI方案(https://en.wikipedia.org/wiki/Data_URI_scheme) – Nkosi

+0

它似乎不是属于一个ASP.NET MVC项目不因为代码中有WebMethod属性。你确定这是来自ASP.NET MVC项目吗? –

+0

@Nkosi ......是的,你是正确的数据为空我数据添加到所有行,我删除数据URI方案也......但是,现在的服务是无误差执行,但图像不显示..... – Raviteja

我从web服务转换图像,然后问题解决了......

+0

请详细信息添加到您的答案。 –