0

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

快照

4

2 回答 2

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”事件中。

于 2012-11-07T08:48:49.503 回答
1

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

<asp:RegularExpressionValidator ControlToValidate="FUpload1" ValidationExpression="^.*\.(jpg|JPG)$" runat="server" />
于 2012-11-07T08:39:04.243 回答