首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让jQuery在上传时限制文件类型?

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

Stack Overflow用户
提问于 2009-03-16 18:56:34
回答 10查看 278.3K关注 0票数 136

我想让jQuery限制一个文件上传域仅为jpg/jpeg,png和gif。我已经在用PHP做后端检查了。我已经通过一个JavaScript函数运行了我的提交按钮,所以我真的只需要知道如何在提交或警报之前检查文件类型。

EN

回答 10

Stack Overflow用户

发布于 2012-11-28 08:11:48

这个任务不需要插件。这是从其他几个脚本拼凑而成的:

代码语言:javascript
复制
$('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,除非选择了有效的文件类型。

票数 42
EN

Stack Overflow用户

发布于 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。因此,不要忘记在服务器端创建更多的控件;)

票数 27
EN

Stack Overflow用户

发布于 2013-02-28 22:41:00

不想检查MIME而不是用户所说的任何扩展?如果是这样,那么它就不到一行:

代码语言:javascript
复制
<input type="file" id="userfile" accept="image/*|video/*" required />
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/651700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档