以下を参考に作成。
動作確認は次の環境で実施。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript"> <!-- function preview(ele) { if (!ele.files.length) return; // ファイル未選択 var file = ele.files[0]; if (!/^image\/(png|jpeg|gif)$/.test(file.type)) return; // typeプロパティでMIMEタイプを参照 // CANVAS取得 var canvas = $("#c1"); var ctx = canvas[0].getContext("2d"); var img = document.createElement('img'); var fr = new FileReader(); fr.onload = function() { img.src = fr.result; // 読み込んだ画像データをsrcにセット } img.onload = function() { ctx.drawImage(img, 0, 0); // 読み込んだ画像データをcanvasに描画 } fr.readAsDataURL(file); // 画像読み込み } //--> </script> </head> <body> <form> <input type="file" name="file" onchange="preview(this)" size="80"/><br/> <canvas id="c1" width="640" height="480" style="border: dotted;"/> </form> </body> </html>