1、使用Web控件FileUpload
页面设计:在Test.aspx
页面中,创建一个FileUpload
控件,允许用户选择要上传的文件,关键代码如下:
<form id="form1" runat="server"> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" /> <asp:Label ID="Label1" runat="server" Text="" Style="color:Red" /> </form>
后端代码:在Test.aspx.cs
中,Button1_Click
事件处理程序检查是否选择了文件,如果选择了,使用Server.MapPath("~")
方法获取网站根目录的物理路径,并调用SaveAs
方法将文件保存到指定位置,成功上传后,会在Label1
上显示消息。
protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { FileUpload1.SaveAs(Server.MapPath("~/") + FileUpload1.FileName); Label1.Text = "上传成功!"; } }
2、使用HTML控件HtmlInputFile
页面设计:在Test.aspx
中,只需替换FileUpload
为HtmlInputFile
即可:
<form id="form1" runat="server"> <input type="file" id="file1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" /> <asp:Label ID="Label1" runat="server" Text="" Style="color:Red" /> </form>
后端代码:同样在Button1_Click
事件中检查文件是否存在并进行上传操作。
3、多文件上传实例
页面设计:新建一个网站,将其命名为MultiFileUpload,默认主页为Default.aspx,在该页中添加1个Table表格、1个FileUpload控件、2个Button控件和1个Label控件,分别用于页面布局、选择上传文件、执行上传操作、添加上传控件和执行状态提示。
后端代码:通过System.Collections命名空间的ArrayList类存储生成的临时控件,然后应用FileUpload类中的SaveAs方法将文件保存到服务器指定路径中,主要代码包括Page_Load事件中初始化上传控件集,“添加文件”按钮的Click事件中添加上传控件,以及“上传文件”按钮的Click事件中执行文件上传操作。
4、大文件上传测试:推荐使用IIS以获取更高性能,对于小文件上传测试可以使用IIS Express。
ASP.NET提供了多种方式来实现文件上传功能,开发者可以根据实际需求选择合适的方法。