2012-06-30 9 views
6

アップロードする前に画像を表示したいです。次のコードを試しましたが、firefox.butでのみ動作しています。IEで動作させる必要があります。私は を行ったところthis.iためのソリューションは、以下のいずれかの図を自分のコードを実行可能性が与えている私は、ほぼ1全体day.Butが私の解決策を見つけるcouldntのググ ここに私のコードですIE9でアップロードする前の画像のプレビューを表示

enter code here 

function loadname(img, previewName) { 
     var isIE = (navigator.appName == "Microsoft Internet Explorer"); 
     var path = img.value; 
     var ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase(); 
     if (ext == "gif" || ext == "jpeg" || ext == "jpg" || ext == "png") { 
      if (isIE) { 
       alert(path); 
       $('#' + previewName).attr('src', path); 
      } else { 
       if (img.files[0]) { 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
         $('#' + previewName).attr('src', e.target.result); 
        } 
        reader.readAsDataURL(img.files[0]); 
       } 
      } 
     } 
    } 

私のhtmlが

<body><form method="post" > 
<input type="file" class="file" onchange="loadname(this,'previewimg')" id="file" /><img src="about:blank" name="previewimg" id="previewimg" alt="" style="width:2in; height:2in"/> 


</form> 
です

答えて

6

セキュリティ上の理由からIE9はサポートしていませんクライアントコンピュータ上のファイルにアクセスするため、プレビューが表示されません。イメージをサーバーにアップロードして表示する必要があります。それは、アップロード時にも一時的なIDとしてイメージ名を使用して、サーバー上の一時フォルダにファイルを保存するために、AJAXを使用している間、プログレスバーを表示し、IDを保存することができ

BIRD'S VIEW

一つの方法それをデータベースに保存して(後で削除することができます)、それをイメージコントロールに表示します。後でファイルを削除する必要がある場合は、IDを使用してファイルを削除するだけです。必要な場合は、そのファイルを画像フォルダに移動してください。

+0

このサーバー側の処理方法のサンプルを提供してください。@Ashwin Singh – SahithiPinisetty

+0

これを行うには、サーバー側のスクリプトが必要です。 –