自动生成一个验证码后将其放在内存中,这是生成验证码图片的方法定义:
protect Image CreateValidateCodeImg(){}然后我定义了一个Image对象
Image myImage = CreateValidateCodeImg();然后将该图片放在内存中:
MemoryStream ms=new MemoryStream();
myImage.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); 怎样才能将存在内存中的图片直接在一个Image控件显示出来.
protect Image CreateValidateCodeImg(){}然后我定义了一个Image对象
Image myImage = CreateValidateCodeImg();然后将该图片放在内存中:
MemoryStream ms=new MemoryStream();
myImage.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); 怎样才能将存在内存中的图片直接在一个Image控件显示出来.
Response.ContentType = "image/jpg";
Response.BinaryWrite(ms.ToArray()); //将图像输出的页面
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.Configuration;
using System.Data.SqlClient;
using System.IO;namespace news
{
/// <summary>
/// showpic 的摘要说明。
/// </summary>
public class showpic : System.Web.UI.Page
{
SqlConnection myCon;
SqlCommand myCmd;
public void showPic()
{
byte [] pictureData = null;
string SQLconStr = ConfigurationSettings.AppSettings["NEWS"].ToString();
string selectStr = "select * from news where newsID='"+Session["getting"].ToString().Trim()+"'";
myCon = new SqlConnection(SQLconStr);
myCon.Open();
//建立关系
myCmd = new SqlCommand(selectStr,myCon);
//实例化数据适配器
SqlDataReader dr = myCmd.ExecuteReader();
if(dr.Read())
{
pictureData =(byte[])dr["newsImage"];
Response.ContentType = dr["picType"].ToString();
}
dr.Close();
myCon.Close();
Response.ClearContent();
Response.AppendHeader("content-length",pictureData.Length.ToString());
Response.BinaryWrite(pictureData);
Response.End();
}
private void Page_Load(object sender, System.EventArgs e)
{
showPic();
} #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
}
}
///////////////////////////////////
然后在
Image1.ImageUrl = "showpic.aspx";
这个方法是先把图片存入到数据库,在从数据库中读取出来哈
和你讲的哪个问题差不多,你看看应该会的哈
{
if (photo == System.DBNull.Value)
return null;
try
{
return new Bitmap(new System.IO.MemoryStream((byte[])photo));
}
catch
{
return null;
}
}
Image1有个ImageUrl属性哈,你可以修改这个值来达到显示图片的目的