为什么我所有的文件上传都跳过 else if 条件?

我有一个检查文件类型的函数,这次我想检查文件是否正确,文件大小是否足够。 这次,我想检查文件是否正确,文件大小是否足够。 如果文件扩展名是正确的,但文件大小大于10MB,那么它应该抛出 “如果”。alert(); 里面 else if() 条件的块。 相反,它被跳过了。

我正在用37.3MB的.mov文件测试。

我做错了什么?

function fileValidationWinnerPhoto() {
    const realFileBtn = document.getElementById("real-file");
    let filePath = realFileBtn.value;
    let maxSize = 10485760;

    // Allowing file type
    let allowedExtensions = /(\.jpg|\.jpeg|\.png|\.bmp|\.mov|\.MOV)$/i;

    if (!allowedExtensions.exec(filePath)) {
        alert('Invalid file type');
        realFileBtn.value = '';
        return false;
    } else if(allowedExtensions.exec(filePath) && realFileBtn.files[0].size > maxSize) {
        alert("You have the correct file type but your uploaded file is too large!  Try uploading a file that's less than 10MB!");
        return false;
    } else {
        console.log("file accepted");
        fileAcceptedFlag = true;
    }
    return filePath;
}

解决方案:

其实,它确实进入了 “else if “块,只是检查了 此处.确保你的环境支持 文件Api最简单的方法是检查全局对象是否存在FileReader。

if (window.FileReader) {
 console.log('File API works');
}

给TA打赏
共{{data.count}}人
人已打赏
解决方案

使用iter_chunks()从S3中解压缩字节块。

2022-4-21 1:00:12

解决方案

当使用Moq.Times时出错,并带有?

2022-4-21 1:00:14

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索