如何让jQuery限制上传文件类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (128)

我希望jQuery将文件上传字段限制为jpg/jpeg、png和gif。我正在做后端检查PHP已经开始了。我正在运行我的提交按钮通过一个JavaScript函数,所以我只需要知道如何在提交或警告之前检查文件类型。

提问于
用户回答回答于

你可以获得文件字段的值,与任何其他字段一样。但是你不能改变它。

所以检查一个文件是否有正确的扩展名,你可以这样做:

var ext = $('#my_file_field').val().split('.').pop().toLowerCase();
if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) {
    alert('invalid extension!');
}
用户回答回答于

从其他几个脚本中拼凑而成:

$('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 = '';
    }
});

这里的诀窍是将上传按钮设置为禁用,除非选择有效的文件类型。

扫码关注云+社区

领取腾讯云代金券