none
关于ASP.NET MVC2 中从数据库读取图片数据在HTML页面显示的问题 RRS feed

  • 问题

  • (ASP.NET MVC2)怎么解决数据库读取图片数据在HTML页面显示的问题。

    我已经用ObjectDataSource或SqlDataSource或AccessDataSource从数据库中读取出数据,然后用GridView控件显示。怎么能正确的在HTML页面上显示呢?  一般的文本型数据直接绑定就出来了, 图片要怎么做呢?  GridView只提供了绑定图片URL的功能,但没办法绑定Byte数据。


    www.tell5.net
    • 已编辑 龙人 2010年5月21日 19:54
    2010年4月21日 13:23

答案

全部回复

  • 显示图片采取这样的方法

    <img src="readImage.aspx?id=xx"

     

    代码参见

    http://dotnet.aspx.cc/article/17612afb-3fc0-4fb9-bfa9-00cba28336e9/read.aspx


    【孟子E章】
    • 已标记为答案 龙人 2010年4月21日 15:46
    2010年4月21日 13:42
    版主
  • 当使用自定义 TextWriter 时,OutputStream 不可用。 (龙:这是怎么回事啊?)

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Web.HttpException: 当使用自定义 TextWriter 时,OutputStream 不可用。

    源错误:

    行 56:   string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/App_Data/Northwind.mdb");
    OleDbConnection myConnection = new OleDbConnection(strCnn);
    OleDbCommand command = new OleDbCommand("SELECT [图片] FROM [类别] Where [类别ID] = 1 ", myConnection);
    myConnection.Open();
    OleDbDataReader dr = command.ExecuteReader();
    if (dr.Read())
    {
    Response.Clear();
    Response.AddHeader("Content-Type", "JPG");
    byte[] vals = (byte[])dr["图片"];
    行 58: Response.BinaryWrite(vals);
    行 59: }
    行 60: dr.Close();
    myConnection.Dispose();
    }

    is first
    2010年4月21日 15:50