文件上传前的javascript图像宽度

时间:2014-04-01 03:38:12

标签: javascript

var f = this.files[0];    
var _URL = window.URL || window.webkitURL;
var file, img;

if((file = f)){
    img = new Image();

    img.onload = function(){
        var imgW = this.width;
        //alert(imgW); WORKING
    };
    img.src = _URL.createObjectURL(file);
}

if(imgW <100){alert('image is too small');}//NOT WORKING

我试图在文件上传前获取图片宽度。

我的问题是,当我将var放在img.onload = function之外时,我得到了不确定imgW

我需要的是存储此变量,任何人都知道问题在哪里?

我试过

var imgW;

if(file = f){
...
   imgW = this.width;
}

alert(imgW);

但它不起作用

2 个答案:

答案 0 :(得分:0)

如果不加载图片,则无法单独使用JavaScript获取图像的宽度。

您正在寻找的是图像的自然高度和宽度。

Get original dimensions of resized html image element

答案 1 :(得分:0)

HTML5提供了一个File API,包括一个FileReader接口,允许在上传之前读取本地文件。例如,请参阅here