asp.net - How to validate a FileUpload control

FileUpload control validation
FileUpload is an asp.net web server control that allow us to upload a file to the web server from client browser. fileupload server control render a textbox and a browse button in web browser that enable users to select a file from the client computer and upload it to the web server machine.

user can specify the file to upload by entering full path of the local computer file in the textbox of fileupload control or use the browse button to select a file from local computer file system.

RequiredFieldValidator control allow us to check whether the fileupload control has a file selected. so users must input a file path in fileupload control before submitting the form. we can make the fileupload control is a required field in web form by attaching a requiredfieldvalidator control with it.

RequiredFiledValidator is an asp.net validation web server control that make an input control to a required field. requiredfieldvalidator control's ControlToValidate property get or set the input control to validate. so we can set the ControlToValidate property value by inputting FileUpload control's ID. requiredfiledvalidator control's ErrorMessage property allow us to set an error message to display in web browser when user try to submit form without inputting any file path in fileupload control. finally we can ensure that user select a file in fileupload control before they submit form to web server.

fileupload control's HasFile property allow us to verify in server side that fileupload control contains a file. using fileupload control's SaveAs method we can save the client's uploaded file to web server machine.

the following asp.net c# example code demonstrate us how can we validate a fileupload web server control.
FileUploadValidation.aspx

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>

<!DOCTYPE html>

<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e) { 
        string uploadFolder = Request.PhysicalApplicationPath+"Upload\\" ;
        FileUpload1.SaveAs(uploadFolder + FileUpload1.FileName);
        Label1.Text = "File uploaded successfully: " + FileUpload1.PostedFile.FileName;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>asp.net FileUpload validation example: how to validate FileUpload control (file upload)</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:Green">asp.net FileUpload example: Validate FileUpload</h2>
        <asp:Label 
             ID="Label1" 
             runat="server" 
             Font-Size="Large"
             ForeColor="Crimson"
             >
        </asp:Label>
        <br /><br />
        <asp:Label 
             ID="Label2" 
             runat="server" 
             ForeColor="DarkBlue"
             Text="Choose a file for upload it."
             Font-Bold="true"
             >
        </asp:Label>
        <br />
        <asp:FileUpload 
             ID="FileUpload1" 
             runat="server" 
             BackColor="DarkBlue" 
             ForeColor="AliceBlue" 
             />
        <asp:RequiredFieldValidator 
             ID="RequiredFieldValidator1"
             runat="server"
             ControlToValidate="FileUpload1"
             ErrorMessage="Choose a file!"
             >
        </asp:RequiredFieldValidator>    
        <br />         
        <asp:Button 
             ID="Button1" 
             runat="server" 
             Font-Bold="true" 
             ForeColor="DodgerBlue" 
             OnClick="Button1_Click"
             Text="Upload Now"
             />   
        <br /><br />
    </div>
    </form>
</body>
</html>





More asp.net examples