如何通过特定的文件types过滤inputtypes=“文件”对话框?

当我点击<input type="file">浏览button时,我想将浏览器限制为JPG文件。

是否可以浏览特定的文件types?

http://www.w3schools.com/tags/att_input_accept.asp

所有主stream浏览器都支持accept属性,但Internet Explorer和Safari除外。 定义和用法

accept属性指定服务器接受的文件types(可以通过file upload提交)。

注意:accept属性只能与<input type="file">

提示:请勿将此属性用作validation工具。 file upload应该在服务器上进行validation。

语法<input accept="audio/*|video/*|image/*|MIME_type" />

提示:要指定多个值,请用逗号分隔这些值(例如<input accept="audio/*,video/*,image/*" />

当文件对话框显示时,这将给出正确的(自定义)filter:

 <input type="file" accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|images/*"> 

您可以使用accept属性和。 它不适用于IE和Safari。

根据您的项目规模和可扩展性,您可以使用Struts。 Struts提供了两种方法来限制上传的文件types,声明和编程。

有关更多信息: http : //struts.apache.org/2.0.14/docs/file-upload.html#FileUpload-FileTypes

将一个自定义属性添加到<input type="file" file-accept="jpg gif jpeg png bmp">并在JavaScript中读取与属性file-accept提供的扩展名相匹配的file-accept 。 这将是一种假的,因为任何上述扩展名的文本文件将被错误地形象化。

 <asp:FileUpload ID="FileUploadExcel" ClientIDMode="Static" runat="server" /> <asp:Button ID="btnUpload" ClientIDMode="Static" runat="server" Text="Upload Excel File" /> 

 $('#btnUpload').click(function () { var uploadpath = $('#FileUploadExcel').val(); var fileExtension = uploadpath.substring(uploadpath.lastIndexOf(".") + 1, uploadpath.length); if ($('#FileUploadExcel').val().length == 0) { // write error message return false; } if (fileExtension == "xls" || fileExtension == "xlsx") { //write code for success } else { //error code - select only excel files return false; } });