如何通过特定的文件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; } });