-1

我有一个文件控件,通过使用文件控件选择图像,我需要获取图像的大小和尺寸。

HTML 代码:

<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' is null or not an object

在Firefox中它工作正常。我怎样才能让它在ie中工作???

4

1 回答 1

1

这不起作用,因为 IE8 不支持此代码正在使用的 HTML5 File API。

如果您需要支持它,有一些 polyfill 脚本可能会通过将缺少的功能(或部分功能)添加到旧版浏览器来帮助您——尝试通读Modernizr Polyfills 列表页面并找到File API部分。

那里有几个脚本声称有助于在旧浏览器中处理文件,但您需要自己尝试一下,看看哪一个最适合您的需求。

希望有帮助。

于 2013-03-26T11:16:53.680 回答