前台代码: <asp:Button ID="Button1" runat="server" Text="创建文件夹" οnclick="Button1_Click" /> <br /> <br /> <br /> <asp:FileUpload ID="myFile" runat="server" /> <br /> <asp:Button ID="Button2" runat="server" Text="上传文件" οnclick="Button2_Click" /> 命名空间: using System.IO; 后台代码: 创建文件夹 protected void Button1_Click(object sender, EventArgs e) { string classid = DateTime.Now.ToString("yyyyMM");// DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString(); //HttpContext.Current.Server.MapPath(相对路径):把相对路径转为服务器上的绝对路径。 File.Exists(绝对路径):检查是否存在绝对路径指向的文件或目录。 if (!Directory.Exists(HttpContext.Current.Server.MapPath("imagesnews/") + "//" + classid)) { System.IO.Directory.CreateDirectory(@HttpContext.Current.Server.MapPath("imagesnews/") + "//" + classid); //System.IO.Directory.CreateDirectory(文件夹绝对路径):建立绝对路径文件夹。 } else { Response.Write("<mce:script language=javascript><!-- alert('文件夹已经存在') // --></mce:script>"); } } 上传文件并创建文件夹 protected void Button2_Click(object sender, EventArgs e) { //string phName = this.txtName.Text; //string phType = this.ddlType.SelectedValue; if (this.myFile.PostedFile != null) //myFile是上传控件的名称 { string photoName1 = myFile.PostedFile.FileName; //获取初始文件名 int i = photoName1.LastIndexOf("."); //取得文件名中最后一个"."的索引 string newext = photoName1.Substring(i); //获取文件扩展名 if (newext != ".gif" && newext != ".jpg" && newext != ".jpeg" && newext != ".bmp" && newext != ".png") { Response.Write("文件格式不正确!"); Response.End(); } DateTime now = DateTime.Now; //获取系统时间 string classid = DateTime.Now.Year.ToString(); //根据年份判断在该路径下是否存在以当年年份文件夹 否则将建立以该年份的文件夹 if (!Directory.Exists(HttpContext.Current.Server.MapPath("imagesnews/") + "//" + classid)) //HttpContext.Current.Server.MapPath(相对路径):把相对路径转为服务器上的绝对路径。 File.Exists(绝对路径):检查是否存在绝对路径指向的文件或目录。 { System.IO.Directory.CreateDirectory(@HttpContext.Current.Server.MapPath("imagesnews/") + "//" + classid); //System.IO.Directory.CreateDirectory(文件夹绝对路径):建立绝对路径文件夹。 } string photoName2 = now.Millisecond.ToString() + "_" + myFile.PostedFile.ContentLength.ToString() + newext; //重新为文件命名,时间毫秒部分+文件大小+扩展名 myFile.PostedFile.SaveAs(Server.MapPath("imagesnews//" + classid + "//" + photoName2)); // 保存文件到路径,用Server.MapPath()取当前文件的绝对目录.在asp.net里"/"必须用"//"代替 } }