判断上传的文件是否是相应的格式

1.单文件上传

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="file" onchange="uploadFileHandler(this)" id="uploadFile" name="uploadFile"/>
<script>
    //reg包含正则表达式和mime类型
    var uploadFileReg = function (sender, reg) {
        if (!reg || !reg.mime || !reg.regexp) {
            return false;
        }
        var regexp = new RegExp(reg.regexp);

        if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)) {
            var value = sender.value;
            if (!value) return false;
            var fileType = (value.substring(value.lastIndexOf(".") + 1, value.length)).toLowerCase();
            if (!regexp.test(fileType)) {
                return false;
            } else {
                return true;
            }
        } else {
                if (sender.files && sender.files[0]) {
                    var type, filename = sender.files[0].name;
                    if (sender.files[0].type) {
                        type = sender.files[0].type;
                        var mime = reg.mime;
                        for (var i in mime) {
                            if (type == mime[i]) {
                                return true;
                                break;
                            }
                        }
                        return false;
                    }
                    else {
                        type = (filename.substring(filename.lastIndexOf(".") + 1, filename.length)).toLowerCase();
                        if (regexp.test(type)) {
                            return true;
                        }
                        else {
                            return false;
                        }
                    }
                }
        }
    }

    function uploadFileHandler(sender) {
        var reg = {};
        reg['regexp'] = "xl(s|s[xmb]|t[xm]|am)$";
        reg['mime'] = [],
                reg['mime'][0] = "application/vnd.ms-excel",
                reg['mime'][1] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
       // reg['mime']是数组格式可以添加
        var regResult = uploadFileReg(sender, reg);
        console.log(regResult)
        if(!regResult){alert("请导入有效的excel格式文件!");sender.value = "";}
    }
</script>
</body>
</html>

这里有一个参考的常用MIME类型:
查看常用MIME类型

猜你喜欢

转载自blog.csdn.net/xiaoyu_yhh/article/details/73743408