应用开发与实践作者刘乃琦郭小芳第5章常用服务器控件课案.ppt
FileUpload控件最常用的一个方法是SaveAs方法,该方法用来将文件保存到服务器上的指定路径下。 【例5-14】 本实例主要是使用FileUpload控件上传图片文件,并将原文件路径、文件大小和文件类型显示出来。执行程序,并选择图片路径,然后单击“上传”按钮,将图片的原文件路径、文件大小和文件类型显示出来,运行结果如图5-14所示。 图5-14 使用FileUpload控件上传图片文件 程序开发步骤如下: (1)新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加一个FileUpload上传控件,用于选择上传路径,再添加一个Button控件,用于执行将上传图片保存在图片文件夹中,然后再添加一个Label控件用于显示原文件路径、文件大小和文件类型。 (2)在“文件上传”按钮的Click事件下,添加如下代码,首先判断FileUpload控件的HasFile属性是否为True,如果为True,则表示FileUpload控件已经确认上传文件存在;然后再判断文件类型是否符合要求,接着,调用SaveAs方法实现上传;最后,利用FileUpload控件的属性获取与上传文件相关的信息。 protected void Button1_Click(object sender, EventArgs e) { bool fileIsValid = false; //如果确认了上传文件,则判断文件类型是否符合要求 if (this.FileUpload1.HasFile) { //获取上传文件的后缀 String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower(); String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" }; //判断文件类型是否符合要求 for (int i = 0; i < restrictExtension.Length; i++) { if (fileExtension == restrictExtension[i]) { fileIsValid = true; } } //如果文件类型符合要求,调用SaveAs方法实现上传,并显示相关信息 if (fileIsValid == true) { try { this.Image1.ImageUrl = "~/images/" + FileUpload1.FileName; this.FileUpload1.SaveAs(Server.MapPath("~/images/") + FileUpload1.FileName); this.Label1.Text = "文件上传成功"; this.Label1.Text += "
"; this.Label1.Text += "
"; this.Label1.Text += "" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字节"; this.Label1.Text += "
"; this.Label1.Text += "" + "文件类型:" + this.FileUpload1.PostedFile.ContentType; } catch(Exception ex) { this.Label1.Text = "无法上传文件"+ex.Message; } } e