component-file

0.1.1 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i component-file

Weekly Downloads

16

Version

0.1.1

License

none

Last publish

Collaborators

  • defunctzombie
  • dfcreative
  • tootallnate
  • tjholowaychuk
  • rauchg
  • retrofox
  • coreh
  • forbeslindesay
  • kelonye
  • mattmueller
  • yields
  • anthonyshort
  • jongleberry
  • ianstormtaylor
  • cristiandouce
  • swatinem
  • stagas
  • amasad
  • juliangruber
  • calvinfo
  • dominicbarnes
  • blakeembrey
  • timoxley
  • jonathanong
  • queckezz
  • nami-doc
  • clintwood
  • thehydroimpulse
  • stephenmathieson
  • trevorgerhardt
  • timaschew
  • hughsk