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类型