如下代码,不能输出图片到网页,只显示一个带有红叉图片符号: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
}
}
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
}
}
if(dr.Read())
慕白兄,那我该怎么写?
这里已经写死了参数?这样查出来有几条?
if(dr.Read())如果还是一样
注释掉后输出乱码:?ᅸifII*
Response.BinaryWrite((byte[])dr["ImageData"])然后在这个方法最后加一句Response.End();
Response.BinaryWrite((byte[])dr["ImageData"])然后在这个方法最后加一句Response.End();
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
Response.BinaryWrite((byte[])dr["ImageData"])然后在这个方法最后加一句Response.End();还是不行Wizard_Joe()
varchar(50)
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引用就是了