console
let fileDom = document.getElementById("file");
fileDom.onchange = function(ev){
let e = ev || window.ev;
let isFileValidate = fileValidate(e.target.files[0],['png','jpg','bmp'],5);
console.table(isFileValidate);
if(isFileValidate.type && isFileValidate.len && isFileValidate.size){
uploadFile(e.target.files[0])
}
}
function uploadFile(obj){
console.log("开始上传")
}
function fileValidate(file, allowTypes, maxSize) {
console.log("选中的文件",file)
let theType = file.type.substring(file.type.lastIndexOf('/') + 1);
let allowType = false;
if (allowTypes.includes(theType)) {
allowType = true;
} else {
allowType = false;
}
const allowSize = file.size / 1024 / 1024 < maxSize;
let allowLen = true
async function getLen(){
let promise = new Promise((resolve, reject) => {
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(event){
let e = event || window.event;
let image = new Image();
image.src = e.target.result;
image.onload=function(e){
if(image.width < 100 || image.height < 100){
reject(new Error('whoops!'))
}else{
resolve(true);
}
}
}
})
let result = await promise;
console.table("await结果",result,await promise)
return result
};
return {
type: allowType,
size: allowSize,
len: getLen(),
}
}
<h4>打开Console控制台调试工具</h4>
<input class="input-file" type="file" id="file" name="file">