MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

FileReader.readAsDataURL()

readAsDataURL メソッドは、指定された Blob ないし File オブジェクトを読み込むために使用します。読込処理が終了すると readyStateDONE に変わり、 loadend イベントが生じます。それと同時に result プロパティにはファイルのデータを表す、base64 エンコーディングされた data: URL の文字列が格納されます。

構文

instanceOfFileReader.readAsDataURL(blob);

パラメータ

blob
メソッドで読み込む Blob または File オブジェクトです。

HTML

<input type="file" onchange="previewFile()"><br>
<img src="" height="200" alt="Image preview...">

JavaScript

function previewFile() {
  var preview = document.querySelector('img');
  var file    = document.querySelector('input[type=file]').files[0];
  var reader  = new FileReader();

  reader.onloadend = function () {
    preview.src = reader.result;
  }

  if (file) {
    reader.readAsDataURL(file);
  } else {
    preview.src = "";
  }
}

実行結果

注釈: Internet Explorer 10 以前では FileReader() コンストラクタがサポートされていません。十分な互換性が必要とされるときは crossbrowser possible solution for image preview または this more powerful example を参照してください。

仕様

Specification Status Comment
File API
The definition of 'FileReader' in that specification.
Working Draft Initial definition.

ブラウザ実装状況

Feature Firefox (Gecko) Chrome Internet Explorer* Opera* Safari
Basic support 3.6 (1.9.2) 7 10 12.02 6.0.2
Feature Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Basic support 32 3 10 11.5 6.1

Implementation notes

Gecko-specific notes

  • Prior to Gecko 2.0 beta 7 (Firefox 4.0 beta 7), all Blob parameters below were File parameters; this has since been updated to match the specification correctly.
  • Prior to Gecko 13.0 (Firefox 13.0 / Thunderbird 13.0 / SeaMonkey 2.10) the FileReader.error property returned a FileError object. This interface has been removed and FileReader.error is now returning the DOMError object as defined in the latest FileAPI draft.

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: clariroid
 最終更新者: clariroid,