我正在尝试使用HTML5文件API显示其他属性的图像尺寸 出于某种原因,我的图像高度为0。
<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);
答案 0 :(得分:1)
您需要挂钩onload事件。您试图在图像加载之前查看大小。
image = new Image();
image.onload = function() { alert(image.size) };
image.src = _URL.createObjectURL(file);