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; } }