在ASP.NET中,使用FileUpload控件可以轻松地上传和处理文件。以下是一个简单的示例,说明如何使用FileUpload控件将文件保存到服务器上的指定位置:
<!DOCTYPE html> <html> <head> <title>File Upload Example</title> </head> <body> <form id="form1" runat="server"> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /> </form> </body> </html> using System; using System.IO; using System.Web.UI; public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 确保文件上传控件在回发时保持其状态 FileUpload1.SaveState(); } protected void btnUpload_Click(object sender, EventArgs e) { // 检查是否有文件被上传 if (FileUpload1.HasFile) { // 获取文件名 string fileName = Path.GetFileName(FileUpload1.FileName); // 设置文件保存路径 string path = Server.MapPath("~/Uploads/" + fileName); // 将文件保存到服务器 FileUpload1.SaveAs(path); // 显示上传成功的消息 lblMessage.Text = "File uploaded successfully!"; } else { // 显示没有文件被上传的消息 lblMessage.Text = "No file was uploaded."; } } } 在这个示例中,当用户点击"Upload"按钮时,btnUpload_Click事件处理程序将被调用。该处理程序首先检查是否有文件被上传,如果有,则获取文件名并设置文件保存路径。然后,使用SaveAs方法将文件保存到服务器上的指定位置。最后,显示一个消息框告知用户文件是否已成功上传。
注意:确保在Web.config文件中设置了<system.web>元素的enctype属性为multipart/form-data,以支持文件上传:
<configuration> <system.web> <httpRuntime maxRequestLength="204800" /> <form action="/Default.aspx" method="post" enctype="multipart/form-data"> <!-- ... --> </form> </system.web> </configuration>