using System;
using System.IO;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace BSSystem.files.member
{
/// <summary>
/// DisplayImage 的摘要说明。
/// </summary>
public class DisplayImage : System.Web.UI.Page
{
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1; private int MyID;
private SqlCommand myCommand;
private SqlConnection myConn;
private SqlDataReader myDataReader;
private string   strConn=System.Configuration.ConfigurationSettings.AppSettings.Get("MySqlConnection.ConnectionString");
protected       string        imagepath=System.Configuration.ConfigurationSettings.AppSettings.Get("imagepath"); private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(this.Session["userUnit"].ToString()=="")
{
Response.Write("非法访问,请重新登陆!");
Response.End();
return;
}
if(Request.QueryString["ID"]!=null)
{
if(Request.QueryString["ID"].ToString()!="")
{
MyID=int.Parse(Request.QueryString["ID"]);
}
else
{
Response.Write("传入参数出错!");
Response.End();
}
}
else
{
Response.Write("传入参数出错!");
Response.End();
} this.myCommand.CommandText="select PersonnelPhoto,PersonnelPhotoSize,PersonnelPhotoType from Personnel where ID="+MyID.ToString();
myConn.Open();
this.myDataReader=this.myCommand.ExecuteReader();
if(this.myDataReader.Read())
{
Response.ContentType=this.myDataReader["PersonnelPhotoType"].ToString();
Response.OutputStream.Write((byte[])myDataReader["PersonnelPhoto"], 0, int.Parse(myDataReader["PersonnelPhotoSize"].ToString()));
Response.End();
}

this.myDataReader.Close();
this.myConn.Close();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
myCommand=new SqlCommand();
myConn=new SqlConnection();
myConn.ConnectionString=strConn;
myCommand.Connection=this.myConn;
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
这是在ASP.NET中显示图像的处理
等我答辩玩了
给你winform的

解决方案 »

  1.   

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;309158
      

  2.   

    private const string FILE_NAME = "Test.jpg";/Test.bmp....
     if (File.Exists(FILE_NAME)) 
            {
                Console.WriteLine("{0} already exists!", FILE_NAME);
                return;
            }
            FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew);
            // Create the writer for data.
            BinaryWriter w = new BinaryWriter(fs);
            w.Write(数据库读出来的byte数组);
    至于怎么读出来参见上面的程序
      

  3.   

    是不是要开10M大小的二进制数组,如果数据量更大如100M,开100M大小的二进制数组?
    有没有其它方法?