JavaScript验证上传文件大小和类型

来源:互联网 发布:谷歌程序员工资 编辑:程序博客网 时间:2024/05/22 00:52
var filetypes = ["jpg", "png", "rar", "txt", "zip", "doc", "ppt", "pptx", "xls", "pdf", "docx", "xlsx", "wps", "mp3", "rmvb", "bmp"];    var filepath = target.value;    var fileMaxSize = 1024 * 2;//2M    var fileIndex = 0;    var fileSize = 0;    //IE8、9不支持H5,但上传验证    if (target.files == null || target.files == undefined) {        fileSize = target.size;    } else if (target.files[fileIndex].fileSize != undefined) {        fileSize = target.files[fileIndex].fileSize;    } else {        fileSize = target.files[fileIndex].size;    }    if ((fileSize / 1024) > fileMaxSize) {        dialog.alert("上传附件超过文件大小上限2M,请确认后重试。", function () {            return true        }, "提示");        target.value = "";        validate();        return false;    }    var label = filepath.substring(filepath.lastIndexOf('\\') + 1).toString();    if (filepath.lastIndexOf('.') > 0) {        var suffix = filepath.substring(filepath.lastIndexOf('.') + 1).toString().toLowerCase();        if (filetypes.indexOf(suffix) < 0) {            dialog.alert("不支持上传该格式附件,请确认后重试。", function () {                return true            }, "提示");            target.value = "";            validate();            return false;        }    } else {        dialog.alert("不支持上传该格式附件,请确认后重试。", function () {            return true        }, "提示");        target.value = "";        validate();        return false;    }

遗留问题:在IT8/9中target.size  无法获取文件真正的大小(target为file对象   即this)
原创粉丝点击