【问题标题】:How to display varbinary image to html table using jQuery in ASP.NET MVC?如何在 ASP.NET MVC 中使用 jQuery 将 varbinary 图像显示到 html 表?
【发布时间】:2016-12-24 11:07:26
【问题描述】:

我正在尝试使用 jQuery 和 Web 服务将 SQL 表中的 varbinary 图像显示为 html 表数据。请帮助我如何转换 int 以及如何显示它。

我的代码是这样的:

网络服务:

[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>");
        }

我收到一个错误

无法将类型 \u0027System.DBNull\u0027 的对象转换为类型 \u0027System.Byte[]\u0027

它不显示图像。

请帮我转换一下。

【问题讨论】:

  • 在将其分配给属性之前检查 dbnull。同样在 jquery 中,除非图片是 url,否则您需要使用 Data URI scheme
  • 它似乎不属于 ASP.NET MVC 项目,因为您的代码中有 WebMethod 属性。你确定这是来自 ASP.NET MVC 项目吗?
  • @Nkosi ... 是的,您是正确的数据为空,我将数据添加到所有行,并且我还删除了数据 URI 方案...但是现在服务正在执行而没有错误,但图像没有显示。 ....
  • @Nkosi 我终于得到了解决方案,我从网络服务中转换了图像......

标签: c# asp.net web-services model-view-controller


【解决方案1】:

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

【讨论】:

  • 请在您的回答中添加更多详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 2014-08-25
相关资源
最近更新 更多