How to restrict file type in FileUpload control
Solution 1
No, in web you can't from client side, evidently from server side you can do amazing things. For this kind of thing, programmers normally use Activex, flash or the like.
Solution 2
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.
Solution 3
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>
Solution 4
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>
Solution 5
//VALIDATE FILE EXTENTION
var _validFileFlag;
function fValidFileExt(vfilePath){
var vFileName=vfilePath.split('\\').pop();
var vFileExt=vfileName.split('.').pop();
if(vFileExt.toUpperCase()=="JPEG" || vFileExt.toUpperCase()=="JPG"){
_validFileFlag = true;
}
_validFileFlag = false;
}
<asp:FileUpload ID="FileUpload1" onchange="fValidFileExt(this.value);" runat="server" />
Check '_validFileFlag' while saving data/upload..
Geeth
Updated on December 12, 2020Comments
-
Geeth over 3 years
Is it possible to allow the fileupload control to show only images?
When we click the Browse button it should show only images.