Novices Performing Miracles

    file-component

    0.1.0 • 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

    Keywords

    Install

    npm i file-component

    DownloadsWeekly Downloads

    1

    Version

    0.1.0

    License

    none

    Last publish

    Collaborators

    • defunctzombie
    • jongleberry
    • dominicbarnes
    • tootallnate
    • rauchg
    • retrofox
    • coreh
    • forbeslindesay
    • kelonye
    • mattmueller
    • yields
    • anthonyshort
    • ianstormtaylor
    • cristiandouce
    • swatinem
    • stagas
    • amasad
    • juliangruber
    • calvinfo
    • tjholowaychuk