- ベストアンサー
HTML5 File APIを利用したサムネイルの表示方法について
- HTML5 File APIを使って画像アップロード前にサムネイルを表示する方法について質問です。
- 具体的には、以下のソースコードのclass=imgで指定した場所にサムネイルを表示する方法が知りたいです。
- また、参考URLに書かれているJavascriptのコードの書き方についてもわかりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これでいかがですか? <form enctype="multipart/form-data" method="post"> <p><span class="thumbnail"></span><input type="file" name="userfile_01"></p> <p><span class="thumbnail"></span><input type="file" name="userfile_02"></p> <p><span class="thumbnail"></span><input type="file" name="userfile_03"></p> </form> <style> .thumbnail { display: inline-block; width: 100px; height: 100px; border: solid 2px black; background: no-repeat center/contain; } </style> <script> addEventListener('DOMContentLoaded', function () { [].forEach.call(document.querySelectorAll('input[type=file]'), function (elm) { elm.onchange = function () { var url = URL.createObjectURL(elm.files[0]) elm.previousElementSibling.style.backgroundImage = 'url(' +url+ ')' } }) }) </script>
その他の回答 (1)
- b0a0a
- ベストアンサー率49% (156/313)
<style> .img_01, .img_02, .img_03 { max-width: 100px; max-height: 100px; } </style> <script> addEventListener('DOMContentLoaded', function () { [].forEach.call(document.querySelectorAll('input[type=file]'), function (elm) { elm.onchange = function () { elm.previousElementSibling.src = URL.createObjectURL(elm.files[0]) } }) }) </script>
補足
パーフェクトです。 もうひとつお願いです。 <span class="">ここに画像</span> の場合はどのようにするかわかりません。 大変申し訳ありません教えてください。困ってます。
お礼
大変に助かりました。 もっと勉強します。ありがとうございました。