HTML5检查图像尺寸

时间:2012-12-13 18:01:11

标签: html5 fileapi html5-filesystem

我正在尝试使用HTML5文件API显示其他属性的图像尺寸 出于某种原因,我的图像高度为0。

http://jsfiddle.net/NfDMh/3/

<input type="file" id="files" name="files[]" multiple="multiple" />
    <output id="list"></output>​

function handleFileSelect(evt)
{
    var files = evt.target.files; 
    var output = [];
    var height;
    var width;
    for (var i = 0, f; f = files[i]; i++)
    {
        output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                    f.size / 1024, ' KB, last modified: ',
                    f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
                    '</li>');
        checkDimensions(f);

    }
    document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}

function checkDimensions(file)
{
    var _URL = window.URL || window.webkitURL;
    var Dimensions = new Object;
    image = new Image();
    image.src = _URL.createObjectURL(file);
    alert(image.height);

}

document.getElementById('files').addEventListener('change', handleFileSelect, false);

1 个答案:

答案 0 :(得分:1)

您需要挂钩onload事件。您试图在图像加载之前查看大小。

image = new Image();
image.onload = function() { alert(image.size) };
image.src = _URL.createObjectURL(file);