6

を持っています:

<img id="uploadedimage" alt="uploaded image" src="" width="250px" height="250px"/>

ユーザーがこのJQueryコードを使用して画像を選択すると、画像を表示するdivがあります。

$('#BusinessImage').change(function (ev) {

            var f = ev.target.files[0];
            var fr = new FileReader();
            var IsImage = false;

            // check the file is an image
            if (f.type.match('image.*')) {
                IsImage = true;
            }

            fr.onload = function (ev2) {
                if (IsImage) {
                    $('#uploadedimage').attr('src', ev2.target.result);  
                }
            };

            if (IsImage) {
                fr.readAsDataURL(f);
                ValidFileUpload();
            }
            else {
                InvalidFileUpload();
            }
        });

もちろん、このコードは、SatansブラウザーであるInternet Explorerを除いて、他のすべてのブラウザーでうまく機能します。このエラーが発生します:

Line: 108
Character: 13
Code: 0
Error Message: Unable to get value of the property '0': object is null or undefined

FFXとChromeでうまく機能するので、これを引き起こしている原因を誰かが知っていますか?

ありがとう

4

1 に答える 1

8

「.files」は、HTML5 をサポートするブラウザーでのみ機能します。

ファイルは IE10 でサポートされていますが、IE9 以前のバージョンでは、別の方法でパスを取得する必要があります。

ファイルがサポートされているかどうかを確認するには:

if( ev.target.files ){
  //supported
  console.log( ev.target.files[0] );
}else{
  //.files not supported
  console.log( ev.target.value );
}
于 2012-07-30T14:25:24.137 に答える