附件上传

能够单个多次上传到服务器中,并且把文件放到自动新建一个文件夹中(一次上传多个文件要用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         }

 

 

    

 

posted @ 2016-05-19 10:15  天启♘  阅读(519)  评论(0编辑  收藏  举报