我想在点击<input type="file">
的浏览按钮时将浏览器限制为JPG文件。
是否可以浏览特定的文件类型?
答案 0 :(得分:68)
请参阅http://www.w3schools.com/tags/att_input_accept.asp:
除了以外所有主流浏览器都支持accept属性 Internet Explorer和Safari。定义和用法
accept属性指定服务器的文件类型 接受(可以通过文件上传提交)。
注意:accept属性只能与
<input type="file">
一起使用。提示:请勿将此属性用作验证工具。文件上传 应该在服务器上验证。
语法
<input accept="audio/*|video/*|image/*|MIME_type" />
提示:要指定多个值,请使用逗号分隔值 (例如
<input accept="audio/*,video/*,image/*" />
。
答案 1 :(得分:64)
当文件对话框显示时,这将提供正确的(自定义)过滤器:
<input type="file" accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|image/*">
答案 2 :(得分:0)
您可以使用accept属性。它在IE和Safari中不起作用。
根据您的项目规模和可扩展性,您可以使用Struts。 Struts提供了两种限制上传文件类型的方法,以声明方式和编程方式。
了解更多信息: http://struts.apache.org/2.0.14/docs/file-upload.html#FileUpload-FileTypes
答案 3 :(得分:0)
向<input type="file" file-accept="jpg gif jpeg png bmp">
添加自定义属性,并在javascript中读取与属性file-accept
提供的扩展名匹配的文件名。这将是一种伪造,因为具有上述任何扩展名的文本文件将被错误地视为图像。
答案 4 :(得分:0)
<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;
}
});