如下代码,不能输出图片到网页,只显示一个带有红叉图片符号:using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;namespace readphoto
{
/// <summary>
/// readimg 的摘要说明。
/// </summary>
public class readimg : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
if( !this.IsPostBack)
{
readerimg();
}
// 在此处放置用户代码以初始化页面
}
void readerimg()
{
    SqlConnection mycon = new SqlConnection("server=.;database=vacan;uid=sa;pwd=170921");
    SqlCommand mycommand = new SqlCommand("select * from imageStore where Id=2",mycon);
mycon.Open();
SqlDataReader dr = mycommand.ExecuteReader(); while(dr.Read())
{
Response.ContentType = dr["ImageType"].ToString();
Response.BinaryWrite((byte[])dr["ImageData"]);
}
dr.Close();
mycon.Close();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}

解决方案 »

  1.   

    while(dr.Read())->
    if(dr.Read())
      

  2.   

    cpp2017(慕白兄)
    慕白兄,那我该怎么写? 
      

  3.   

    select * from imageStore where Id=2
    这里已经写死了参数?这样查出来有几条?
      

  4.   

    while(dr.Read())->
    if(dr.Read())如果还是一样
      

  5.   

    ContentType 有没有问题?可先注释掉ImageData有没有问题?
      

  6.   

    ContentType没问题,在数据库中是image/pjpeg
    注释掉后输出乱码:?&#4472;ifII* 
      

  7.   

    try:Response.Clear();
    Response.BinaryWrite((byte[])dr["ImageData"])然后在这个方法最后加一句Response.End();
      

  8.   

    try:Response.Clear();
    Response.BinaryWrite((byte[])dr["ImageData"])然后在这个方法最后加一句Response.End();
      

  9.   

    //定义输出位图
            Bitmap bmp = new Bitmap(300,100);
            
            //ms等于你取出的二进制的值
            bmp.Save(ms, ImageFormat.Gif);        //输出图片
            Response.ClearContent();
            Response.ContentType = "image/gif";
            Response.BinaryWrite(ms.ToArray());可参见我的博客文章
    《动态生成一个计数器图片 》
    http://www.cnblogs.com/heekui/archive/2007/02/12/648752.html
      

  10.   

    你数据库中的ImageData是什么类型的.
      

  11.   

    try:Response.Clear();
    Response.BinaryWrite((byte[])dr["ImageData"])然后在这个方法最后加一句Response.End();还是不行Wizard_Joe()
     
    varchar(50)
      

  12.   

    你数据库中的ImageData是什么类型的.image
      

  13.   

    int intUpload_id=Convert.ToInt16(Request.QueryString["intUpload_id"].ToString());
    SqlConnection mycn=new SqlConnection("server=.;uid=sa;pwd=;database=upload");
    SqlCommand mycmd=new SqlCommand("select upload_id,upload_type,upload_image from uploadinfo_image where upload_id=@upload_id",mycn);
    mycmd.Parameters.Add("@upload_id",SqlDbType.Int);
    mycmd.Parameters["@upload_id"].Value=intUpload_id;
    mycmd.Connection.Open();
    SqlDataReader mydr=mycmd.ExecuteReader();
    if(mydr.Read())
    {
    Response.ContentType=mydr["upload_type"].ToString();
    Response.BinaryWrite((byte [])(mydr["upload_image"]));
    }希望可以帮到你,用一个Image引用就是了