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