How to restrict file type in FileUpload control How to restrict file type in FileUpload control asp.net asp.net

How to restrict file type in FileUpload control


In 2015, web browsers support the input accept attribute, so you can do this:

<asp:FileUpload ID="fileUploader" runat="server" accept=".png,.jpg,.jpeg,.gif" />

Keep in mind Visual Studio may show you a message about this as an invalid attribute of the FileUpload ASP tool, however.


I found no direct solution for this problem.

This is my workaround using the RegularExpressionValidator:

<asp:FileUpload ID="fuImportImage" runat="server" /><asp:RegularExpressionValidator ID="regexValidator" runat="server"     ControlToValidate="fuImportImage"     ErrorMessage="Only JPEG images are allowed"      ValidationExpression="(.*\.([Jj][Pp][Gg])|.*\.([Jj][Pp][Ee][Gg])$)"></asp:RegularExpressionValidator>


You cannot strictly restrict the file type, but if the browser supports it you can cause it to initially show just a certain type of file:

<form method="post" action="blahblah.blah">  <input type="file" name="image" id="image" accept="image/png, image/jpeg" /></form>