html5在文件这块新增了FileReader接口,同时对file对象(Blob)进行了升级,可以直接拿到文件的类型和大小,所以若是浏览器版本较高支持FileReader,就可以直接取文件list(h5里file对象为一个list,可以上传多个文件)对象的类型,图片的类型为image/开头,斜杠后面是图片的后缀,所以可以直接以此来判断上传的文件的类型。在不支持FileReader的浏览器里,file对象没有filename.type和filename.size的API,因此我们需要获得文件的后缀,以此来判断文件类型。
if(typeof FileReader != 'undefined'){
var file = document.getElementById("imageFile").files[0];
if((file.type).indexOf("image/")==-1){
swal("提示", "请上传图片!", "warning");
}
}else{
var fileName=document.getElementById("imageFile").value;
var suffixIndex=fileName.lastIndexOf(".");
var suffix=fileName.substring(suffixIndex+1).toUpperCase();
if(suffix!="BMP"&&suffix!="JPG"&&suffix!="JPEG"&&suffix!="PNG"&&suffix!="GIF"){
swal("提示", "请上传图片(格式BMP、JPG、JPEG、PNG、GIF等)!", "error");
}
}
来自 https://blog.csdn.net/qq_33556185/article/details/50845693