使用FileUpload过滤文件扩展名

Sam*_*ica 12 c# asp.net file-upload

我正在编写一个涉及FileUpload控件使用的asp.net web应用程序.

现在,这个特定的FileUpload控件只需要.zip或.gz文件类型.如果上载的文件类型不正确,则会向用户显示错误消息.此功能已实施.

我想要做的是过滤用户点击"浏览"时看到的可见文件类型.

您可能已经看到类似以下的文件打开对话框.
在此输入图像描述

我圈出了代表文件扩展名过滤器的区域.

这是一个非常常见的功能,我希望它可以内置到当前的FileUploadControl中,但经过一些在线搜索后,我发现一些帖子说它无法完成.

这些帖子来自2009年,超过两年前.

现在,我的问题是:当前的Asp.Net 4.0是否支持此功能?如果没有,你知道任何简单的解决方案来获得我想要的功能吗?

我想再次指出,我能够验证用户是否选择了支持的文件类型.我正在寻找的是一个整容变化,它将在打开的文件对话框中过滤掉不需要的文件类型.

Aru*_*nik 18

您可以尝试以下代码.

<asp:FileUpload ID="UploadFile" accept="image/*" multiple="false" runat="server" BorderStyle="None" />
Run Code Online (Sandbox Code Playgroud)

它适用于现代浏览器.

不要忘记使用代码隐藏程序验证扩展.


小智 7

在fileupload控件中选择图像..

希望它会对你有所帮助

asp:RegularExpressionValidator ID="rexp" runat="server" ControlToValidate="fupProduct"
     ErrorMessage="Only .gif, .jpg, .png, .tiff and .jpeg"
     ValidationExpression="(.*\.([Gg][Ii][Ff])|.*\.([Jj][Pp][Gg])|.*\.([Bb][Mm][Pp])|.*\.([pP][nN][gG])|.*\.([tT][iI][iI][fF])$)"></asp:RegularExpressionValidator
Run Code Online (Sandbox Code Playgroud)


sat*_*mar 5

我认为这是不可能的.浏览器中的文件类型过滤器不受asp.net控制.它是一个浏览器功能.

这个问题已在stackoverflow中询问.请点击 过滤文件类型与文件上传控件