画像ファイルをアップロードせずにimgタグに表示する
JavaScriptとHTMLだけでローカルにある画像ファイルをサーバを介さずにブラウザ上のimgタグに表示することができます。
HTML
<input type="file" id="myfile" accept=".jpeg, .jpg, .png"/>
<img id="jpegViewer">
スクリプト
const input = document.querySelector("#myfile");
const reader = new FileReader();
reader.onload = (event) => {
const imgElement = document.getElementById('jpegViewer');
imgElement.src = event.target.result;
};
reader.readAsDataURL(input.files[0]);
document.querySelector()
で選択したファイルの一覧が取得できます。1ファイルの場合は、input.files[0]
で参照できます。
FileReader.readAsDataURL()
の実行結果がonload
で通知されます。取得したDataURLはevent.target.result
に格納されています。