Given an HTML5 File object (from e.g. HTML5 drag and drops), turn it into a pull stream source.
Heavily based on filereader-stream by @maxogden.
Use it with npm & browserify
npm install pull-file-reader
var drop = require('drag-and-drop-files')
var pull = require('pull-stream')
var fileReader = require('pull-file-reader')
drop(document.body, function (files) {
var first = files[0]
pull(
fileReader(first),
pull.collect(function (err, buffs) {
var contents = Buffer.concat(buffs)
// contents is the contents of the entire file
})
)
})
var fileReader = require('pull-file-reader')
var source = fileReader(file, [options])
fileReader
is a pull stream source.
options
:
chunkSize
- default1024 * 1024
(1MB) - How many bytes will be read at a timeoffset
- default0
- Where in the file to start reading
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
A (╯°□°)╯︵TABLEFLIP side project.