asp.net 上传文件并将路径写入数据库

来源:互联网 发布:下列网络系统安全原则 编辑:程序博客网 时间:2024/05/20 10:11
1、在页面前端添加浏览文件使用的打开对话框,获取要上传的文件路径及文件名     <asp:FileUpload ID="upFile" runat ="server" />2、添加上传按钮,用户点击后上传文件<asp:Button ID="upLoad" runat ="server" Text ="上传图片" onclick="upLoad_Click" />3、点击上传按钮//上传图片    protected void upLoad_Click( object sender, EventArgs e)    {        try        {            if (upFile.PostedFile.FileName == "")            {                Response.Write( "<script>alert('上传的文件不允许为空!');</script>" );                return;            }            else            {                string filePath = upFile.PostedFile.FileName;//获取文件路径                string fileName = filePath.Substring(filePath.LastIndexOf("\\" ) + 1);//获取文件名                string fileEx = fileName.Substring(fileName.LastIndexOf("." ) + 1).ToLower();//获取文件的扩展名                string serverpath = Server.MapPath( "Resources/" + theater.SelectedIndex + "/Image/" ) + fileName;//将文件存放的完整服务器路径                if (fileEx == "jpg" || fileEx == "png" )                {                    if (model.SelectedValue != "该场馆无模型" )                    {                        upFile.PostedFile.SaveAs(serverpath);                        write_DataBase( "Resources/" + theater.SelectedIndex + "/Image/" + fileName);//将上传的文件信息写入数据库                    }                    else                    {                        Response.Write( "<script>alert('未选择图片所属模型!');</script>" );                    }                }                else                {                    Response.Write( "<script>alert('上传的文件类型不正确,请重新选择!');</script>" );                }            }        }        catch ( Exception ex)        {            throw ex;        }    }4、将上传文件的路径写入数据库//将文件信息写入数据库    private void write_DataBase( string serverpath)    {        try        {            //生成图片位置            string server = ConfigurationManager .AppSettings["server" ];            string dbPath = server + serverpath;            //生成imageid            string sql = "select max(imageid) from image" ;            int max_imageid = 0;            OracleDataReader dr;            db.GetDateReader(sql, out dr);            if (dr.Read() && dr[0].ToString()!= "" )            {                max_imageid = Convert.ToInt32(dr[0].ToString()) + 1;//生成imageid使其大于现有的最大id            }            //生成modelid            int modelid = 0;            sql = "select modelid from model where modelname = '" + model.SelectedValue + "'";            db.GetDateReader(sql, out dr);            if (dr.Read())            {                modelid = Convert.ToInt32(dr[0].ToString());            }            //写入数据库            sql = "insert into image values(" + max_imageid + "," + modelid + ",'" + dbPath + "',0" + ")" ;            int return_value = 0;            db.ProcessRecord(sql, out return_value);            if (return_value == 0)            {                Response.Write( "<script>alert('上传文件失败');window.location.reload();</script>" );            }            else            {                Response.Write("<script>window.location.reload();</script>" );            }        }        catch ( Exception ex)        {            throw ex;        }    }

原创粉丝点击