首页 > 代码库 > 2014.12.13 ASP.NET文件上传

2014.12.13 ASP.NET文件上传

一、文件上传:
(一)上传到硬盘文件夹
1.最简单的上传。


[HTML代码]

1 <asp:FileUpload ID="FileUpload1" runat="server" />2 <asp:Button ID="Button1" runat="server" Text="上传" />

[C#代码]

1 //把相对路径,变成绝对路径2 string path = Server.MapPath("uploads/aaa.txt");3 //文件上传,注意的是:SaveAs里面的应当是绝对路径4 FileUpload1.SaveAs(path);

2.上传文件保持原文件名:

1 //把上传文件原来的文件名给取出来。2 string fileName = FileUpload1.FileName;3 4 //把相对路径,变成绝对路径5 string path = Server.MapPath("uploads/"+fileName);6 7 //文件上传,注意的是:SaveAs里面的应当是绝对路径8 FileUpload1.SaveAs(path);

3.防止上传文件重名而导致覆盖。

 1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 //把上传文件原来的文件名给取出来。 4 string fileName = FileUpload1.FileName; 5  6 //防止文件重名,而对文件名进行的处理。 7 fileName = Session["user"].ToString() + DateTime.Now.ToString("yyyyMMddhhmmssms") + fileName; 8  9 //把相对路径,变成绝对路径10 string path = Server.MapPath("uploads/"+fileName);11 12 //文件上传,注意的是:SaveAs里面的应当是绝对路径13 FileUpload1.SaveAs(path);14 }

4.同时上传多个文件。

 1     protected void Button1_Click(object sender, EventArgs e) 2     { 3         int index = 0;//防止同一时间上传同一文件造成文件名重复,给上传顺序编号 4         //遍历from表单中每一个元素 5         foreach (Control ctrl in this.form1.Controls) 6         { 7             //取元素为FileUpload的元素 8             if (ctrl is FileUpload) 9             {10                 FileUpload file = (FileUpload)ctrl;//强转为FileUpload型11                 //判断是否有文件路径12                 if (file.HasFile)13                 {14                     string filename = file.FileName;15                     filename = Session["id"].ToString() + DateTime.Now.ToString("yyyyMMddhhmmssms") + index.ToString() + filename;16                     string path = Server.MapPath("Uploads/" + filename);17                     file.SaveAs(path);18                     index++;19                 }20             }21         }22         Label1.Text = "上传成功!";23     }

 

注意:默认情况下,这种方式上传文件,最大是4M。可以修改,修改方法如下:
1.打开Web.Config
2.添加配置节:

1 <system.web>2 <httpRuntime maxRequestLength="40960"/>

 

2014.12.13 ASP.NET文件上传