こんにちわ。
職人見習いの小森です。
今回は、HTML5のファイル読み込みをについてまとめます。
○index.html
id="fileinfo"id="Contents"
accept=”text/*”
上記を付けて、ファイル選択ボタンはテキストのみ選択可としています。
○file.js
window.addEventListener("load",function(){ if(!window.file){ ele.innerHTML = "File APIが使用できません" return; } var ele = document.getElementById("fileinfo"); document.getElementById("read").addEventListner("click",function(){ var textFile = document.getElementById("filedata").files[0]; if(textFile.type.indexOf("text/") != 0 ){ ele.innerHTML += "ファイルはテキストではない"; return; } var reader; reader = new FileReader(); reader.onload = function(evt){ var text = evt.target.result; document.getElementById("Contents").textContent = text; } reader.onerror = function(evt){ var errorNo = evt.target.error.code; ele.innerHTML += "エラー:"+errorNo; } reader.onprogress = function(evt){ //読み込み作業中のイベント } reader.onloadend = function(evt){ //読み込み完了時のイベント } reader.readAsText(textFile,"utf-8"); },true); },true);
readAsTextメソッドは、非同期でファイルの読み込みを行います。
そのため、ファイルの読み込みが完了してから処理したい場合などは、onloadendメソッドに読み込み完了後の処理を記述します。
読み込み処理中にエラーが発生した場合、onerrorメソッドが呼び出されエラーコードが表示されます。
※この記事は、なかの人(spitz8008)が書いています。