ASP.NET2.0中将文件上传到数据库(copy from JREN)

来源:互联网 发布:巨杉数据库风投 编辑:程序博客网 时间:2024/06/05 14:42

推荐一个我自己做的一个电影站,绝对没弹窗:-)   速看电影吧,每天都更新,

最新的电影电视剧都在速看电影吧!~

Access数据库代码

 

<%@ Page Language="C#" EnableViewState="true" %><%@ Import Namespace="System.Data.OleDb" %><!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">protected void Button1_Click( object sender, EventArgs e ){System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;if (fileDataStream.Length < 1){Msg.Text = "请选择文件。";return;}//得到文件大小int fileLength = FileUpload1.PostedFile.ContentLength;//创建数组byte[] fileData = new byte[fileLength];//把文件流填充到数组fileDataStream.Read(fileData, 0, fileLength);//得到文件类型string fileType = FileUpload1.PostedFile.ContentType;//构建数据库连接,SQL语句,创建参数string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");OleDbConnection myConnection = new OleDbConnection(strCnn);OleDbCommand command = new OleDbCommand("INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage)" +"VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage)", myConnection);command.Parameters.AddWithValue("@PersonName",TextBox1.Text);command.Parameters.AddWithValue("@PersonEmail", "mengxianhui@dotnet.aspx.cc");command.Parameters.AddWithValue("@paramPersonSex", "男");command.Parameters.AddWithValue("@PersonImageType", fileType);command.Parameters.AddWithValue("@PersonImage", fileData);//打开连接,执行查询myConnection.Open();command.ExecuteNonQuery();myConnection.Close();Response.Redirect(Request.RawUrl);}protected void Page_Load( object sender, EventArgs e ){if (!Page.IsPostBack){BindGrid();}}private void BindGrid( ){string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ Server.MapPath("Image2Access.mdb");OleDbConnection myConnection = new OleDbConnection(strCnn);OleDbCommand myCommand = new OleDbCommand("SELECT * FROM Person", myConnection);try{myConnection.Open();GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);GridView1.DataBind();}catch (OleDbException SQLexc){Response.Write("提取数据时出现错误:" + SQLexc.ToString());}}protected string FormatURL( object strArgument ){return "ReadImage.aspx?id=" + strArgument.ToString();}</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><title>上传文件到数据库</title></head><body><form id="MengXianhui" runat="server"><asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"><columns><asp:TemplateField><itemtemplate><%#Eval("PersonName") %></itemtemplate></asp:TemplateField><asp:TemplateField><itemtemplate><%#Eval("PersonEmail") %></itemtemplate></asp:TemplateField><asp:TemplateField><itemtemplate><%#Eval("PersonSex") %></itemtemplate></asp:TemplateField><asp:TemplateField><itemtemplate><img src="<%#FormatURL(Eval("PersonID")) % alt="" />" /></itemtemplate></asp:TemplateField></columns></asp:GridView><br /><br />姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />照片:<asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="Button1_Click"></asp:Button><p><asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p></form></body></html></xmp><p> </p><p><strong>SQL Server数据库代码</strong></p><p><xmp><%@ Page Language="C#" EnableViewState="true" %><%@ Import Namespace="System.Data.SqlClient" %><!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">string strCnn = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local);";protected void Button1_Click( object sender, EventArgs e ){System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;if (fileDataStream.Length < 1){Msg.Text = "请选择文件。";return;}//得到文件大小int fileLength = FileUpload1.PostedFile.ContentLength;//创建数组byte[] fileData = new byte[fileLength];//把文件流填充到数组fileDataStream.Read(fileData, 0, fileLength);//得到文件类型string fileType = FileUpload1.PostedFile.ContentType;//构建数据库连接,SQL语句,创建参数SqlConnection myConnection = new SqlConnection(strCnn);SqlCommand command = new SqlCommand("INSERT INTO UserPhoto (UserName,ContentType,Photo)" +"VALUES (@UserName,@ContentType,@Photo)", myConnection);command.Parameters.AddWithValue("@UserName", TextBox1.Text);command.Parameters.AddWithValue("@ContentType", fileType);command.Parameters.AddWithValue("@Photo", fileData);//打开连接,执行查询myConnection.Open();command.ExecuteNonQuery();myConnection.Close();Response.Redirect(Request.RawUrl);}protected void Page_Load( object sender, EventArgs e ){if (!Page.IsPostBack){BindGrid();}}private void BindGrid( ){SqlConnection myConnection = new SqlConnection(strCnn);SqlCommand myCommand = new SqlCommand("SELECT * FROM UserPhoto Order By id DESC", myConnection);try{myConnection.Open();GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);GridView1.DataBind();}catch (Exception SQLexc){Response.Write("提取数据时出现错误:" + SQLexc.ToString());}}protected string FormatURL( object strArgument ){return "ReadImage.aspx?id=" + strArgument.ToString();}</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"><title>上传文件到数据库</title></head><body><form id="MengXianhui" runat="server"><asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"><columns><asp:TemplateField><itemtemplate><%#Eval("UserName") %></itemtemplate></asp:TemplateField><asp:TemplateField><itemtemplate><img src="<%#FormatURL(Eval("id")) % alt="" />" /></itemtemplate></asp:TemplateField></columns></asp:GridView><br /><br />姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />照片:<asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="Button1_Click"></asp:Button><p><asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p></form></body></html></xmp><p> </p><p><strong>显示图片</strong></p><p><xmp><%@ Page Language="C#" %><%@ Import Namespace="System.Data.OleDb" %><%@ Import Namespace="System.Data.SqlClient" %><script runat="server">protected void Page_Load( object sender, EventArgs e ){////构建数据库连接,SQL语句,创建参数//ACCESS数据库使用本注释部分//string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");//OleDbConnection myConnection = new OleDbConnection(strCnn);//OleDbCommand command = new OleDbCommand("select * from Person Where PersonID =" + Request.QueryString["id"], myConnection);//myConnection.Open();//OleDbDataReader dr = command.ExecuteReader();//if (dr.Read())//{// Response.Clear();// Response.AddHeader("Content-Type", dr["PersonImageType"].ToString());// Response.BinaryWrite((byte[])dr["PersonImage"]);//}//dr.Close();//myConnection.Dispose();//构建数据库连接,SQL语句,创建参数string strCnn = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local);";SqlConnection myConnection = new SqlConnection(strCnn);SqlCommand command = new SqlCommand("select * from UserPhoto Where id =" + Request.QueryString["id"], myConnection);myConnection.Open();SqlDataReader dr = command.ExecuteReader();if (dr.Read()){Response.Clear();Response.AddHeader("Content-Type", dr["ContentType"].ToString());Response.BinaryWrite((byte[])dr["Photo"]);}dr.Close();myConnection.Dispose();}</script>

 

创建SQL数据表语句

 

CREATE TABLE [UserPhoto] ([id] [int] IDENTITY (1, 1) NOT NULL ,[UserName] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,[ContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,[Photo] [image] NOT NULL ,CONSTRAINT [PK_UserPhoto] PRIMARY KEY CLUSTERED([id]) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO 

原创粉丝点击