为了账号安全,请及时绑定邮箱和手机立即绑定

用input 上传图片,怎样获取图片的尺寸大小呢

用input 上传图片,怎样获取图片的尺寸大小呢

Qyouu 2018-12-20 20:14:23
怎么用js判断图片尺寸? <input type="file"  onchange="loadPic(this)"/> function loadPic(img){    consoel.log(img.width);}
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

我的原理就是和上传预览差不多,简单说下:


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}`);

    }


查看完整回答
反对 回复 2019-01-13
  • 1 回答
  • 0 关注
  • 440 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信