搭建网站需要收集用户提交的信息,限定用户提交的文件大小不超过1MB,并且文件类型为pdf。
虽然input 标签中有文件类型的选项(如下代码段,设定了传入的是文件类型,设定可接受的为pdf)。
<input type="file" accept="application/pdf"/>
但是在实际上传的过程中,如果用户想要强行上传各种类型的文件,也能上传得了,如图1。
所以我们需要用js代码判断上传的文件类型,完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<input type="file" accept="application/pdf" onchange="fileChange(this);" />
// onchange="fileChange(this);" 调用js代码
<script type="text/javascript">
function fileChange(target) {
var fileSize;
fileSize = target.files[0].size;
var size = fileSize / 1024;
if (size > 1024) {
alert("附件不能大于1M");
target.value = "";
return false; //阻止submit提交
}
if (!/\.(pdf|PDF)$/.test(target.value)) {
alert("图片类型必须是pdf类型");
target.value = "";
return false; //阻止submit提交
}
}
</script>
</body>
</html>