-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'がnullであるか、オブジェクトではありません

Firefoxでは正常に動作します。どうすればそれをieで動作させることができますか?

4

1 に答える 1

1

IE8はこのコードで使用されているHTML5ファイルAPIをサポートしていないため、これは機能しません。

それをサポートする必要がある場合は、不足している機能(またはその一部)を古いブラウザーに追加することで役立つ可能性のあるいくつかのポリフィルスクリプトがあります-Modernizrポリフィルリストページを読んで、ファイルAPIセクションを見つけてください。

古いブラウザでのファイル処理に役立つと主張するスクリプトがいくつかありますが、どれがニーズに最も適しているかを確認するには、それらをすべて試してみる必要があります。

お役に立てば幸いです。

于 2013-03-26T11:16:53.680 に答える