ファイル内容取得エラー時のハンドリングをするには?
解説
ファイル内容の読み込みのエラーには、エラー時のイベントハンドラを記述することで対応します。エラー内容はFileReaderオブジェクトのerror属性のcode属性を参照します。
code属性には以下のコードが格納されます。
ABORT_ERRは最新の仕様書からは削除されており、FireFoxでは「abort()」メソッドの呼び出しによる読み込み中止時にはonerrorイベントハンドラは呼ばれません。
それ以外のブラウザでは「abort()」メソッドの呼び出しによる読み込み中止時にはonerrorイベントハンドラのあとにonabortイベントハンドラが呼ばれます。
// fは取得したFileオブジェクト、resultAreaは結果表示用の領域
var reader = new FileReader();
reader.onerror = function(event){
switch(reader.error.code){
case 1:
resultArea.innerHTML += "ファイルが見つかりません<br>";
break;
case 2:
resultArea.innerHTML += "セキュリティ・エラーです<br>";
break;
case 3:
resultArea.innerHTML += "読み込みが中止されました<br>";
break;
case 4:
resultArea.innerHTML += "ファイルが読み込めません<br>";
break;
case 5:
resultArea.innerHTML += "DataURLにエンコードできません<br>";
break;
}
}
reader.readAsText(f);
関連項目
(関連する項目はありません)