ado.net用sql server中的image列来存取一个图片

表的结构
3 ID int 4 0
0 IMGTITLE char 50 1
0 IMGTYPE char 50 1
0 IMGDATA image 16 1

存图片store.aspx

  protected System.Web.UI.HtmlControls.HtmlInputFile File1;//上传文件用
  protected System.Web.UI.WebControls.TextBox TextBox1;
  protected System.Web.UI.WebControls.Button Button1;//填写文件名用

  private void Button1_Click(object sender, System.EventArgs e){
   Stream imgdatastream = File1.PostedFile.InputStream;
   int imgdatalen = File1.PostedFile.ContentLength;
   string imgtype = File1.PostedFile.ContentType;
   string imgtitle = TextBox1.Text;
   byte[] imgdata = new byte[imgdatalen];
   int n = imgdatastream.Read(imgdata,0,imgdatalen);
   string connstr =  "workstation id=OVERMIND;packet size=4096;user id=sa;password=sa;data source=OVERMIND;persist security info=False;initial catalog=wztj";
   SqlConnection connection = new SqlConnection(connstr);
   SqlCommand command = new SqlCommand("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)  VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
         SqlParameter paramTitle = new SqlParameter("@imgtitle", SqlDbType.VarChar,50 );
   paramTitle.Value = imgtitle;
   command.Parameters.Add( paramTitle);
   SqlParameter paramData = new SqlParameter( "@imgdata", SqlDbType.Image );
   paramData.Value = imgdata;
   command.Parameters.Add( paramData );
   SqlParameter paramType = new SqlParameter( "@imgtype", SqlDbType.VarChar,50 );
   paramType.Value = imgtype;
   command.Parameters.Add( paramType );
   connection.Open();
   int numRowsAffected = command.ExecuteNonQuery();
   connection.Close();
  }

取图片getImage.aspx

  private void Page_Load(object sender, System.EventArgs e)
  {
   string imgid ="1";//Request.QueryString["imgid"];

   string connstr="workstation id=OVERMIND;packet size=4096;user id=sa;password=sa;data source=OVERMIND;persist security info=False;initial catalog=wztj";
   string sql="SELECT imgdata, imgtype FROM ImageStore WHERE id = " + imgid;
   SqlConnection connection = new SqlConnection(connstr);
   SqlCommand command = new SqlCommand(sql, connection);
   connection.Open();
   SqlDataReader dr = command.ExecuteReader();
   if(dr.Read())
   {
    Response.ContentType = dr["imgtype"].ToString();
    Response.BinaryWrite( (byte[]) dr["imgdata"] );
    //Response.WriteFile(
   }
   connection.Close();
   // Put user code to initialize the page here
  }

调用getImage.aspx的页面show.htm
 <img src=“getImage.aspx?id=...“></img>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值