SYNCERのロゴ
アイキャッチ画像

FileReader.readAsText() - 文字列として読み込む

readAsText()は、FileReaderのメソッドです。ファイルを、文字列として読み込みます。

概要

名前
readAsText
所属
FileReader
IDL
void readAsText(Blob blob, optional DOMString label);
仕様書
https://w3c.github.io/FileAPI/#dfn-readAsText

説明

第1引数(blob)には、対象のBlobを指定します。

第2引数()には、任意で文字エンコーディングを指定します。省略した場合はutf-8で扱われます。

返り値はファイル内容を文字列で表現した値です。

チュートリアル

メソッドを利用して文字列として読み込む例です。

<input type="file" multiple id="hoge">
// 要素を取得
var element = document.getElementById( "hoge" ) ;

// 読み込むファイル
var file = element.files[0] ;		// 1つ目のファイル

// FileReaderを作成
var fileReader = new FileReader() ;

// 読み込み完了時のイベント
fileReader.onload = function () {
	console.log( fileReader.result ) ;	// 文字列
}

// 読み込みを実行
fileReader.readAsText( file ) ;

デモ

選択したファイルの中から1つ目、つまりインデックス番号0([0])のファイルを取得します。サイズが小さい画像ファイルを選択してみて下さい。readAsBinaryString()との違いを確認してみましょう。選択したファイルが当サーバーに送信されることはありません。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<html>
<head>
<style>
	div#result { white-space: pre-wrap ; }
	input { width: 95% ; font-size: 16px ; }
</style>
</head>
<body>
	<input type="file" multiple id="hoge">
<hr>
	<div id="result"></div>
<script>
var element = document.getElementById( "hoge" ) ;
var resultElement = document.getElementById( "result" ) ;

element.onchange = function () {
	var fileReader = new FileReader() ;

	fileReader.onload = function () {
		console.log( this.result ) ;
		resultElement.appendChild( new Text( this.result ) ) ;
	}

	var file = element.files[0] ;
	fileReader.readAsText( file ) ;
//	fileReader.readAsBinaryString( file ) ;	// 試してみよう!
}
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
6.0+ 10+ 6.0+ 4.0+
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年10月4日 (水)
コンテンツを公開しました。