我有一个文件控件,通过使用文件控件选择图像,我需要获取图像的大小和尺寸。
HTML code:
<input type="file" id="button_background_image_control" />
JQuery代码:
$('#button_background_image_control').bind('change', function ()
{
if (this.disabled)
{
alert('Your browser does not support File upload.');
} else
{
var chosen = this.files[0];
var image = new Image();
image.onload = function ()
{
alert('Width:' + this.width + ' Height:' + this.height + ' ' + Math.round(chosen.size / 1024) + 'KB');
};
image.src = url.createObjectURL(chosen);
}
});
在ie8中运行上面的代码时出现错误:0x800a138f - Microsoft JScript运行时错误:'this.files.0'为null或不是对象
在Firefox中它运行正常。我怎样才能使它在ie ???
答案 0 :(得分:1)
这不起作用,因为IE8不支持此代码使用的HTML5文件API。
如果您需要支持它,有一些polyfill脚本可以通过向旧浏览器添加缺少的功能(或部分功能)来帮助您 - 尝试阅读Modernizr Polyfills list页面并找到文件API 部分。
有几个脚本声称可以帮助处理旧浏览器中的文件,但是你需要自己尝试一下,看看哪一个最适合你的需求。
希望有所帮助。