问题描述
我是一个菜鸟,大虾们请看一下我下面的一段代码,我想把图片传入数据库里,可是不知道怎么把图片转换成数据流传入数据库,我的表只有三个字段,im_id,im_name,im_image就这三个,可是我还是不会怎么传,帮看一下吧,指点一下怎么传上去!protectedvoidButton1_Click(objectsender,EventArgse){stringn=FileUpload1.FileName;//取得图片名stringconnStr=ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();//注意这里是创建的连接!SqlConnectionconn=newSqlConnection();conn.ConnectionString=connStr;stringcomstr="insertintoim_test(im_name,im_image)values('"+n+"','"+AAA+"')";//AAA是图片图据字段,这里不知道怎么弄!!SqlConnectionmyconn=newSqlConnection(connStr);SqlCommandcom=newSqlCommand(comstr,myconn);myconn.Open();com.ExecuteNonQuery();//执行存储过程!myconn.Close();FileUpload1.Text="";Response.Redirect("book.aspx");}上传的页面!<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="im_test.aspx.cs"Inherits="im_test"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>图片上传测试一!!!</title></head><body><formid="form1"runat="server"><div><asp:FileUploadID="FileUpload1"runat="server"/><asp:ButtonID="Button1"runat="server"OnClick="Button1_Click"Text="上传"/><br/><br/><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label></div></form></body></html>帮帮忙吧!!给个简单一点的例子也好,我也看了很多网上的,还是不会,有的话要简单!
解决方案
解决方案二:
//我以前的一段代码,数据库是access,给你参考一下//插入数据//取得上传文件的大小(字节)intFileLen=FileUpload1.PostedFile.ContentLength;Byte[]FileData=newByte[FileLen];//创建访问客户端上传文件的对象HttpPostedFilehp=FileUpload1.PostedFile;//创建数据流对象Streamsr=hp.InputStream;//将图片数据放到FileData数组对象实例中,0代表数组指针的起始位置,FileLen代表指针的结束位置sr.Read(FileData,0,FileLen);OleDbConnectionconn=DB.CreateOleDbConnection();conn.Open();OleDbCommandcmd=newOleDbCommand("insertinto链接表(编号,名称,地址,图片,状态,备注)values(@no,@name,@address,@img,@flag,@remark)",conn);OleDbParameterpara=null;//....para=newOleDbParameter("@img",OleDbType.Binary);para.Value=FileData;cmd.Parameters.Add(para);//....cmd.ExecuteNonQuery();//读取图片OleDbConnectionconn=DB.CreateOleDbConnection();if(conn.State==ConnectionState.Closed){conn.Open();}OleDbCommandcmd=newOleDbCommand("Select*from链接表whereid=@id",conn);OleDbParameterpara=newOleDbParameter("@tid",OleDbType.Integer);para.Value=Int32.Parse(Request.QueryString["ID"]);cmd.Parameters.Add(para);OleDbDataReaderdr=cmd.ExecuteReader();//Response.ContentType="image/*";if(dr.Read()){Response.BinaryWrite((byte[])dr["图片"]);}if(conn.State==ConnectionState.Open){conn.Close();}
解决方案三:
谢谢了呀,可是我还是不会,会的大哥,有空的时候帮写一下,小弟感激不尽!