/filereader-stream

Read an HTML5 File object (from e.g. HTML5 drag and drops) as a stream.

Primary LanguageJavaScriptBSD 2-Clause "Simplified" LicenseBSD-2-Clause

filereader-stream

Given a HTML5 File object (from e.g. HTML5 drag and drops), turn it into a readable stream.

NPM

If you want this for FileLists then definitely check out fileliststream.

install

Use it with npm & browserify >= 3.0

$ npm install filereader-stream

example

var drop = require('drag-and-drop-files');
var concat = require('concat-stream');
var createReadStream = require('filereader-stream');

test('should read file when one is dropped', function(t) {
  drop(document.body, function(files) {
    var first = files[0]
    createReadStream(first).pipe(concat(function(contents) {
      // contents is the contents of the entire file
    }))
  })
})

usage

var createReadStream = require('filereader-stream'. [options]);

options is optional and can specify output. Possible values are:

  • arraybuffer [default]
  • binary
  • dataurl
  • text

You can also specify chunkSize, default is 8128. This is how many bytes will be read and written at a time to the stream you get back for each file.

run the tests

npm install
npm test

then open your browser to the address provided, open your JS console, and drag and drop files onto the page until the test suite passes/fails