您的位置:首页 > 其它

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

2017-06-26 18:35 363 查看
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类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息