在上传窗口中仅显示特定文件类型?

时间:2012-11-07 08:30:14

标签: asp.net

有没有办法在文件上传窗口的下拉菜单中只显示特定的文件类型,如下所示,通过ASP.NET?例如,我只想允许从资源管理器中选择* .xlsx文件。我可能已经在某些应用程序中看到过这种情况,但无法找到实现它的方法。

SnapShot

2 个答案:

答案 0 :(得分:2)

对于excel,您可以尝试:

<input type="file" name="myFile" accept="application/vnd.ms-excel" />

如果要使用asp.net fileupdload控件应该可以编写

<asp:FileUpload id="someId"  accept="application/vnd.ms-excel" runat="server" />

但你不能依赖它跨浏览器。您仍然需要在后面的代码中验证该文件。验证后面代码中文件的最简单方法(但绝不是全面的)是通过调用方法Path.GetFileExtension(fileName)来检查扩展名,如果是错误的扩展名,则会向用户返回错误。我通常把这张支票放在“submitbutton_click”事件中。

答案 1 :(得分:1)

无法开箱即可限制文件类型,但您可以使用RegularExpressionValidator检查文件扩展名:

<asp:RegularExpressionValidator ControlToValidate="FUpload1" ValidationExpression="^.*\.(jpg|JPG)$" runat="server" />