C# 使用FileUpload筛选文件扩展名

C# 使用FileUpload筛选文件扩展名,c#,asp.net,file-upload,C#,Asp.net,File Upload,我正在编写一个asp.net web应用程序,其中涉及使用FileUpload控件 现在,这个特殊的FileUpload控件只需要.zip或.gz文件类型。如果上载的文件类型不正确,则会向用户显示错误消息。此功能已经实现 我想做的是过滤用户单击“浏览”时看到的可见文件类型 您可能已看到类似于以下内容的文件打开对话框。 我已在表示文件扩展名筛选器的区域上画了圈 这是一个非常常见的功能,我希望它能内置到当前的FileUpload控件中,但在网上搜索之后,我发现一些帖子说它无法实现 这些职位是从20

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

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

我想做的是过滤用户单击“浏览”时看到的可见文件类型

您可能已看到类似于以下内容的文件打开对话框。

我已在表示文件扩展名筛选器的区域上画了圈

这是一个非常常见的功能,我希望它能内置到当前的
FileUpload
控件中,但在网上搜索之后,我发现一些帖子说它无法实现

这些职位是从2009年开始的,两年多前

现在,我的问题是:当前的Asp.NET4.0是否支持此功能?如果不支持,您知道有什么简单的解决方案可以获得我想要的功能吗


我想再次指出,我能够验证用户是否选择支持的文件类型。我想要的只是一个外观上的改变,它将在“打开文件”对话框中过滤掉不需要的文件类型。

我认为这是不可能的。在浏览器中按文件类型过滤不是由asp.net控制的。它是一种浏览器功能

此问题已在stackoverflow中提出。请单击

您可以从ASP.NET文件上载控件创建验证文件扩展名

我相信你可以选择这个解决方案


这在客户端是可能的! 但是,记住要进行服务器端验证

这两个链接显示:
在文件上载控件中选择图像

希望对你有帮助

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
asp:RegularExpressionValidator ID=“rexp”runat=“server”ControlToValidate=“fupProduct”
ErrorMessage=“仅.gif、.jpg、.png、.tiff和.jpeg”

ValidationExpression=“(.*。([Gg][Ii][Ff])|.*。([Jj][Pp][Gg])|.*。([Bb][Mm][Pp])|.*。([Pp][nN Gg])|.([tT][Ii][Ff])”>您可以尝试下面的代码

<asp:FileUpload ID="UploadFile" accept="image/*" multiple="false" runat="server" BorderStyle="None" />

它适用于现代浏览器


别忘了使用代码隐藏过程验证扩展。

我看到了,但在提出这个问题几周后,在发布了大多数答案后,Microsoft发布了他们的.Net Framework 4.0。下面的答案适用于浏览器的子集:在我问题的两个地方,我已经提到我已经能够做这种验证了。这不是我要问的功能。这可用于桌面应用程序,但还不适用于web应用程序!所谓的“副本”上被接受的答案看起来像是验证,但不是过滤。我同意副本上的答案不是你想要的。好答案@Stephan。太多人忘记了这种工作是在浏览器中完成的,而不是在服务器上。