2011-09-10 20 views
1

私はこれまで見てきましたが、これが可能かどうかを調べることができませんでした。入力フィールドから画像を取得して画像データを取得する/画像を表示

これは私が提出する前に起こりたいことです:ユーザーがアップロードするファイルを選択すると、イメージのデータを取得してbase64に変換します。変換後、直接divに表示するか、またはAJAX経由でサーバーに送信してからdivに表示します。以下は

は私が探しているものを基本的に上記

// index.php 
<input type="file" name="img" id="img" onChange="displayImg(this)"> 

// displayImg.js 
function displayImg(img) { 
    imgData = img.?; // How do I do this? 
    img64 =   // I know how to do this. 
    document.write("<img src='data:image/jpeg;base64,"+img64+"' />"); 
} 

答えて

6
function displayImage(evt){ 
    var files = evt.target.files; 
    var reader = new FileReader(); 

    reader.onload = function(frEvent) { 
     document.getElementById("renderImage").innerHTML = '<img src="'+frEvent.target.result+'" />'; 
    } 
    reader.readAsDataURL(files[0]); 
} 

コードは私のために動作します。それは検証とすべての良いものが欠けていますが、これはあなたのための良い出発点でなければなりません。

+0

ブラウザで「動作しますか?将来どのように「働き続ける」のでしょうか? –

+1

私はこのコードの私のバージョンをテストし、Firefox、Chrome、Operaで動作します。 IEで動作しません。Safariは "ReferenceError:変数を見つけることができません:FileReader"というエラーを返します。 – Pete

+0

"reader.onload(function(theFile){"を "reader.onload =(function( theFile){"それが働くために – Steve

関連する問題