jQuery检查IF语句中的文件类型不起作用

不要停下来

在我的jQuery脚本中此代码:

r.files[i].file

返回

File
    lastModified: 1594820307797
    name: "01.jpg"
    size: 116354
    type: "image/jpeg"
    uniqueIdentifier: "116354-01jpg"
    webkitRelativePath: ""
    ...

当我想使用此代码检查此文件类型时,alert为我显示:

for (let i = 0; i < r.files.length; i++) {
    if(r.files[i].file.type !== "image/jpeg" || r.files[i].file.type !== "image/png"){
        alert('file is not image');
        notUploaded ++;
    }
}

完整代码:

$('.resumable-drop').show();
r.assignDrop($('.resumable-drop')[0]);
r.assignBrowse($('.resumable-browse')[0]);
// Handle file add event
r.on('fileAdded', function (file) {
    //console.log(r);
    for (let i = 0; i < r.files.length; i++) {
        if(r.files[i].file.type !== "image/jpeg" || r.files[i].file.type !== "image/png"){
            alert('file is not image');
        }
    }
    if(notUploaded>0){
        alert('please check files again');
    }else{
        notUploaded = 0;
        $('.resumable-progress, .resumable-list').show();
        $('.resumable-progress .progress-resume-link').hide();
        $('.resumable-progress .progress-pause-link').show();
        $('.resumable-file-' + file.uniqueIdentifier + ' .resumable-file-name').html(file.fileName);
        r.upload();
    }
});
卡兰

您应该使用&&而不是||内部if条件。

if (r.files[i].file.type !== "image/jpeg" && r.files[i].file.type !== "image/png")

根据您的条件||,如果r.files[i].file.type具有值image/jpeg,则将返回true第二个条件,如果具有值image/png,则将返回true第一个条件,否则两者均为true因此,您的代码将始终满足if并显示警报。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章