ASP.NET (C#版)如何将文件上传至数据库(源代码)

来源:互联网 发布:游戏本 知乎 编辑:程序博客网 时间:2024/06/05 03:42

源代码:

protected void Button1_Click(object sender, EventArgs e)

    {

        //判断用户是否选择了要上传的文件

        if (FileUpload1.PostedFile.FileName == string.Empty)

        {

            //如果没有选择则提示用户选择文件

            Response.Write("<script language=javascript>alert('请选择要上传的文件')</script>");

        }

        else

        {

            //获取FileUpload1控件中的文件路径

            string filepath = FileUpload1.PostedFile.FileName;

            //获取文件名

            string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);

            //获取扩展名

            string filetype = filepath.Substring(filepath.LastIndexOf("."));

            //获取文件大小

            int filelength = (int)filename.Length;

            //设定保存文件的服务器路径为myfile

            string savepath = Server.MapPath("myfile");

            //保存文件

            FileUpload1.PostedFile.SaveAs(savepath + "\\" + filename);

            //创建连接数据库对象

           OleDbConnection conn = new OleDbConnection(@"data source=~\kaoshi.accdb;provider=microsoft.ace.oledb.12.0");

           conn.Open();

            //创建cmdtext变量,功能是将变量中的值得插入到数据库的字段中

            string cmdtext = "insert into sc(fname,flength,ftype) values('" + filename + "','" + filelength + "','" + filetype + "')";

            //创建命令对象调用cmdtext变量中的insert语句

            OleDbCommand cmd = new OleDbCommand(cmdtext, conn);

            try//捕获异常

            {

                //执行插入操作

                cmd.ExecuteNonQuery();

                //实例化stringBuilder对象

                System.Text.StringBuilder strmeg = new System.Text.StringBuilder();

                strmeg.Append("<font color=blue>文件被成功的添加到数据库中,详细信息如下:</font><hr color=red>");

                strmeg.Append("上传的文件类型:" + this.FileUpload1.PostedFile.ContentType.ToString() + "<br>");

                strmeg.Append("上传文件的文件名:" + filename + "<br>");

                strmeg.Append("上传文件的扩展名:" + filetype + "<br>");

                strmeg.Append("上传文件的大小:" + FileUpload1.PostedFile.ContentLength + "个字节");

                this.Label1.Text = strmeg.ToString();

            }

            catch (System.Exception ee)

            {

                Response.Write(ee.ToString());

            }

            finally

            {

                conn.Close();

            }

        }

    }