我想让jQuery限制一个文件上传域仅为jpg/jpeg,png和gif。我已经在用PHP
做后端检查了。我已经通过一个JavaScript
函数运行了我的提交按钮,所以我真的只需要知道如何在提交或警报之前检查文件类型。
发布于 2012-11-28 08:11:48
这个任务不需要插件。这是从其他几个脚本拼凑而成的:
$('INPUT[type="file"]').change(function () {
var ext = this.value.match(/\.(.+)$/)[1];
switch (ext) {
case 'jpg':
case 'jpeg':
case 'png':
case 'gif':
$('#uploadButton').attr('disabled', false);
break;
default:
alert('This is not an allowed file type.');
this.value = '';
}
});
这里的诀窍是将upload按钮设置为disabled,除非选择了有效的文件类型。
发布于 2009-03-16 19:14:02
您可以使用jQuery的验证插件:http://docs.jquery.com/Plugins/Validation
它恰好有一个accept()规则,它可以执行您需要的操作:http://docs.jquery.com/Plugins/Validation/Methods/accept#extension
请注意,控制文件扩展名不是防弹的,因为它与文件的mimetype没有任何关系。所以你可以有一个是word文档的.png和一个完全有效的png图像的.doc。因此,不要忘记在服务器端创建更多的控件;)
发布于 2013-02-28 22:41:00
不想检查MIME而不是用户所说的任何扩展?如果是这样,那么它就不到一行:
<input type="file" id="userfile" accept="image/*|video/*" required />
https://stackoverflow.com/questions/651700
复制相似问题