上传图片时如何获取图片的宽高??

为什么这样写大部分时候获取到的都是是0呢 只有个别的图片能输出宽度 这是为什么?

var upload = document.getElementById('upload');
upload.onchange=function(){
        var file = this.files[0];
        if (file) {
                var reader = new FileReader();
                reader.onload = function (event) {
                    var txt = event.target.result;
                    var img = document.createElement("img");
                    img.src = txt;
                    console.log(img.width);
                    document.getElementById("result").appendChild(img);
                };
            }
            reader.readAsDataURL(file);
}
阅读 1.7k
1 个回答
var upload = document.getElementById('upload');
upload.onchange=function(){
        var file = this.files[0];
        if (file) {
                var reader = new FileReader();
                reader.onload = function (event) {
                    var txt = event.target.result;
                    var img = document.createElement("img");
                    img.src = txt;
                    
                    img.onload = function () {
                        console.log(img.width);
                        document.getElementById("result").appendChild(img);
                    }
                    
                    
                };
            }
            reader.readAsDataURL(file);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题