附件上传
能够单个多次上传到服务器中,并且把文件放到自动新建一个文件夹中(一次上传多个文件要用Uploadify插件或其他上传插件)
前台代码:
1 <asp:Panel ID="plUpload" runat="server" hight="91px" Width="224px"> 2 <asp:FileUpload ID="fileUpload3" runat="server" /> 3 </asp:Panel> 4 <asp:TextBox ID="txtsum" runat="server" Width="61px"> 5 </asp:TextBox> 6 <asp:Button ID="btn" runat="server" OnClick="btnadd_Click" Text="增加" Width="45px"/> 7 <asp:Button ID="btnupfile" runat="server" OnClick="btnupfile_Click" Text="上传全部" Width="86px" />
1 /// <summary> 2 /// 检测指定的文件夹是否存在,不存在就创建 3 /// </summary> 4 /// <param name="imgpath">该文件夹的之前的路径,注意一定要带上"/"</param> 5 /// <returns></returns> 6 public static string CheckFile() 7 { 8 //命名一个今天的文件夹 9 string folder = DateTime.Now.ToString("yyyyMMdd"); 10 11 //判断文件是否存在 12 if (!System.IO.Directory.Exists(folder)) 13 { 14 //自动生成文件夹 15 System.IO.Directory.CreateDirectory(folder); 16 17 //生成后返回文件夹名 18 return folder; 19 } 20 21 //如果存在,直接返回今天的文件夹名 22 return folder; 23 } 24 protected void btnadd_Click(object sender, EventArgs e) 25 { 26 //增加上传文件的个数 27 FileUpload fu; 28 //循环创建上传文件的控件 29 for (int i = 0; i < Convert.ToInt32(txtsum.Text); i++) 30 { 31 //初始化上传文件对象 32 fu = new FileUpload(); 33 //给对象的ID赋值 34 fu.ID = "fu_" + i.ToString(); 35 //向panel容器中动态添加对象 36 plUpload.Controls.Add(fu); 37 } 38 } 39 protected void btnupfile_Click(object sender, EventArgs e) 40 { 41 //声明名称、大小、类型等几个变量 42 string f_name, f_size, f_tye; 43 //使用一个变量获取到由客户端上传的文件集合 44 HttpFileCollection hfc = Request.Files; 45 //循环这个集合 46 for (int i = 0; i < hfc.Count; i++) 47 { 48 //将每个文件实例化成可以直接访问的实体 49 HttpPostedFile hpf = hfc[i]; 50 //将访问的文件名,类型,大小分别赋给相应的变量 51 f_name = hpf.FileName; 52 f_size = hpf.ContentLength.ToString(); 53 f_tye = hpf.ContentType; 54 //创建一个文件夹 55 string path=Server.MapPath("~/" + CheckFile()); 56 //判断是否有该文件夹 57 if (!Directory.Exists(path)) 58 Directory.CreateDirectory(path); 59 //将上传的文件保存的指定的文件夹中 60 hpf.SaveAs(path+ f_name); 61 } 62 }