并没有直接的办法获取图片上传尺寸,需要对图片进行加载等处理
我觉得还可以改变一下逻辑,可以都预览,等提交等时候检测一下大小,不让提交通过不就完了。
我的原理就是和上传预览差不多,简单说下:onchange触发,获取当前file对象(这里可以获取图片的大小、类型、修改时间等)
reader去读取文件
塞到页面,获取图片的宽高
移出图片节点
代码,见以下:function getImgInfo(ev,fnCallBack){ var oFile=ev.files[0]; var reader=new FileReader();
reader.οnlοad=function(){ // 也可以用 window.URL.createObjectURL(this.result)
var oImg=new Image();
oImg.src=this.result; document.body.appendChild(oImg);
oImg.οnlοad=function(){ var imgWidth=oImg.offsetWidth; var imgHeight=oImg.offsetWidth;
fnCallBack && fnCallBack({ width:imgWidth, height:imgHeight
}) document.body.removeChild(oImg);
};
};
reader.readAsDataURL(oFile);
} function getImgInfoCb(json){ console.log(`width:${json.width} , height:${json.height}`);
}
赞
已采纳