使用FileUpload过滤文件扩展名

时间:2012-01-23 18:38:45

标签: c# asp.net file-upload

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

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

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

您可能已经看到过类似以下内容的文件打开对话框 enter image description here

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

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

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

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

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

5 个答案:

答案 0 :(得分:15)

您可以尝试以下代码。

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

适用于现代浏览器。

不要忘记使用程序背后的代码来验证扩展。

答案 1 :(得分: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

答案 2 :(得分:6)

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

这个问题已在stackoverflow中提出。请点击 filter the file type with the file upload control

答案 3 :(得分:0)

您可以从ASP.NET FileUpload Control

创建验证文件扩展名

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

Validate File Extension for ASP.NET FileUpload Control

答案 4 :(得分:0)