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>