higher level File and FileReader API
JavaScript
Latest commit 0324272 Feb 10, 2014 @TooTallNate TooTallNate Release 0.1.1
Failed to load latest commit information.
test refactor for latest component(1) Aug 11, 2012
.gitignore refactor for latest component(1) Aug 12, 2012
.npmignore
History.md Release 0.1.1 Feb 10, 2014
Makefile refactor for latest component(1) Aug 12, 2012
Readme.md add browser installation directions Jul 2, 2013
component.json Release 0.1.1 Feb 11, 2014
file.js use Emiiter() mixin May 8, 2013
index.js
package.json Release 0.1.1 Feb 11, 2014
reader.js use Emiiter() mixin May 8, 2013

Readme.md

File

File component wrapping the native File and FileReader objects with a higher level API.

Installation

node.js:

$ npm install file-component

browser:

$ component install component/file

Events

Reader

  • error an error occurred
  • progress in progress (e.percent etc)
  • end read is complete

Example

var file = require('file');
var input = document.querySelector('input');

input.onchange = function(){
  var img = file(input.files[0]);

  if (!img.is('image/*')) {
    alert('Images only!');
    return;
  }

  var reader = img.toDataURL(function(err, str){
    if (err) throw err;
    var img = document.createElement('img');
    img.src = str;
    img.height = 300;
    document.body.appendChild(img);
  });

  reader.on('progress', function(e){
    console.log(e.percent);
  });
};

API

file(file)

Wraps a File object:

var file = require('file');
file(input.files[0]);

File#is(type)

Returns a boolean if the file's mime type matches type:

var file = require('file');
file(input.files[0]);
file.is('image/*');
file.is('image/jpeg');
file.is('*/json');

File#toArrayBuffer(fn)

Convert to an ArrayBuffer and invoke fn(err, result), returns a Reader.

File#toText(fn)

Convert to text and invoke fn(err, result), returns a Reader.

File#toDataURL(fn)

Convert to a data uri string and invoke fn(err, result), returns a Reader.

License

MIT