如何在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
它不显示图像。
请帮我把它转换。
答
我从web服务转换图像,然后问题解决了......
+0
请详细信息添加到您的答案。 –
在将dbnull分配给属性之前,请检查它。也是在jquery的,除非PIC是一个URL,那么你就需要使用[数据URI方案(https://en.wikipedia.org/wiki/Data_URI_scheme) – Nkosi
它似乎不是属于一个ASP.NET MVC项目不因为代码中有WebMethod属性。你确定这是来自ASP.NET MVC项目吗? –
@Nkosi ......是的,你是正确的数据为空我数据添加到所有行,我删除数据URI方案也......但是,现在的服务是无误差执行,但图像不显示..... – Raviteja