Upload file with specific extension
FileUpload is an asp.net web server control that allows users to upload
a file to a web server from their local computer file system.
FileUpload control does not save files automatically to the server. FileUpload control's SaveAs() method allows us to save client-uploaded files to the web server file system. SaveAs() method needs to pass a parameter named 'filename'. By default, FileUpload control uploads any valid type file from the client machine.
Sometimes .net developers need to restrict file type to upload. Such as in an application we can allow users to upload only JPEJ image files. Next, paragraphs describe how can we filter extensions when uploading a file to a web server.
First, we specify the web server folder to save the uploaded file. Second, we check the FileUpload control contains a file by FileUpload HasFile property. This method validates FileUpload control in server-side code. Third, we get the uploaded file's extension using Path.GetExtension() method. this method exists in the System.IO namespace.
Next, we check this extension is in our allowed file extensions. If the client's uploaded file extension is .jpg and our allowed file extensions are .jpg and .png then the file upload will be successful. If the client file extension is .jpg and our accepted file extension is .doc then file uploading will be failed.
The following asp.net c# example code demonstrates to us how we can filter file extension when uploading files to the web server from the client browser.
FileUpload control does not save files automatically to the server. FileUpload control's SaveAs() method allows us to save client-uploaded files to the web server file system. SaveAs() method needs to pass a parameter named 'filename'. By default, FileUpload control uploads any valid type file from the client machine.
Sometimes .net developers need to restrict file type to upload. Such as in an application we can allow users to upload only JPEJ image files. Next, paragraphs describe how can we filter extensions when uploading a file to a web server.
First, we specify the web server folder to save the uploaded file. Second, we check the FileUpload control contains a file by FileUpload HasFile property. This method validates FileUpload control in server-side code. Third, we get the uploaded file's extension using Path.GetExtension() method. this method exists in the System.IO namespace.
Next, we check this extension is in our allowed file extensions. If the client's uploaded file extension is .jpg and our allowed file extensions are .jpg and .png then the file upload will be successful. If the client file extension is .jpg and our accepted file extension is .doc then file uploading will be failed.
The following asp.net c# example code demonstrates to us how we can filter file extension when uploading files to the web server from the client browser.
FileUpload.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+"UploadFolder\\" ;
if (FileUpload1.HasFile)
{
string extension = Path.GetExtension(FileUpload1.PostedFile.FileName);
if (extension.ToLower() == ".jpg")
{
FileUpload1.SaveAs(uploadFolder + FileUpload1.FileName);
Label1.Text = "File uploaded successfully: " + FileUpload1.PostedFile.FileName;
string imageSrc = "~/UploadFolder/" + FileUpload1.PostedFile.FileName;
Image1.ImageUrl = imageSrc;
Image1.BorderWidth = 2;
Image1.BorderColor = System.Drawing.Color.SeaGreen;
}
else
{
Label1.Text = "This file extension not permitted: " + extension;
}
}
else
{
Label1.Text = "Please select a file.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>asp.net FileUpload example: how to upload file with specific extension</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2 style="color:Red">asp.net FileUpload example: specific file extension</h2>
<asp:Label
ID="Label1"
runat="server"
Font-Size="Large"
ForeColor="SeaGreen"
>
</asp:Label>
<br /><br />
<asp:Label
ID="Label2"
runat="server"
ForeColor="DodgerBlue"
Text="Choose a file for upload."
Font-Bold="true"
>
</asp:Label>
<br />
<asp:FileUpload
ID="FileUpload1"
runat="server"
BackColor="DodgerBlue"
ForeColor="AliceBlue"
/>
<asp:Button
ID="Button1"
runat="server"
Font-Bold="true"
ForeColor="DodgerBlue"
OnClick="Button1_Click"
Text="Upload Now"
/>
<br /><br />
<asp:Image ID="Image1" runat="server" />
</div>
</form>
</body>
</html>


