JavaScript 画像や映像ファイルを読み込む

最終更新日

画像ファイルや映像ファイルを読み込むには、「FileReader」オブジェクトの「readAsDataURL()」メソッドを使います。readAsDataURL()のパラメータに、選択されたファイルオブジェクトを指定します。画像ファイルや映像ファイルの読込が完了するとloadイベントが発生するので、FileReaderオブジェクトのonloadにイベントハンドラを設定し、読み込み完了時の処理を行います。イベントハンドラにはイベントオブジェクトが渡され、targetオブジェクトのresultプロパティに読み込まれた画像ファイルや映像ファイルが「data:~」形式で格納されています。dataURL形式になっているので、表示する場合は画像や映像の「src」属性に代入します。

<body>
<script>
    window.addEventListener("load" , function(){

        var ele = document.getElementsByTagName("output")[0];
       //ボタンにイベントを設定
        document.getElementById("readBtn").addEventListener("click", function(){
            var fileList = document.getElementById("selFile").files;
           //FileReaderオブジェクトを作成
            var reader = new FileReader();
            //ファイルが読み込まれた場合の処理を設定
            reader.onload = function(evt){
                var data = evt.target.result;
                //img要素のsrcに代入し表示
                document.getElementsByTagName("img")[0].src=data;
            }
            //ファイルの読込みを開始
            reader.readAsDataURL(fileList[0]);
        },false);

    }, false);

</script>
<form>
    <p><input type="file" id="selFile" multiple></p>
    <input type="button" value="読み込み" id="readBtn">
</form>
<img src="images/dummy.png">
</body>

ファイル選択ボタンをクリックして、バイナリファイルを選択します。

実行結果

読み込みボタンをクリックすると、選択されたバイナリファイルが読み込まれ、先頭の8バイトが16進数で表示されます。

実行結果
実行結果