1

我正在尝试使用 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);
4

1 回答 1

1

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

image = new Image();
image.onload = function() { alert(image.size) };
image.src = _URL.createObjectURL(file);
于 2012-12-13T18:06:56.283 回答