JSPM

readable-blob-stream

0.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 557
  • Score
    100M100P100Q96588F
  • License MIT

Read W3C Blob & File objects as a Node stream. Very useful with "browserify" and "primus" with "ejson" using pipe()

Package Exports

  • readable-blob-stream

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (readable-blob-stream) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

readable-blob-stream

Read W3C Blob & File objects as a Node stream. Very useful with "browserify" and "primus" with "ejson" using pipe().

INSTALLING

If you are already generating a bundle using browserify (or something similar), you can use it directly:

npm install readable-blob-stream --save
var ReadableBlobStream = require('readable-blob-stream');

Or, you can generate a standalone javascript file by cloning or downloading this repo and typing:

npm install
npm run bundle

Look in the build directory to find the generated file. This is a UMD module. Which means you can either require() it using browserify, load it using AMD, or access it as the global window.ReadableBlobStream

EXAMPLE

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="readable-blob-stream.js"></script>
<script>
window.addEventListener('DOMContentLoaded', function()
{
    var myfile = document.getElementById('myfile');

    myfile.addEventListener('change', function()
    {
        var file = myfile.files[0];
        if (!file) { return; }

        var stream = new ReadableBlobStream(file);
        // or:
        //var stream = new ReadableBlobStream(file, {highWaterMark : 128, encoding: 'utf8'});

        stream.on('error', function(err)
        {
            console.log('error while reading your file:', err);
        });

        stream.on('end', function()
        {
            console.log('there will be no more data.');
        });

        stream.on('data', function(data)
        {
            // if you do not set an encoding,
            // "data" is both a Buffer and an Uint8Array
            console.log('got %d amount of data: ', data.length, data);
        });

        // If you are using primus you can simply use:
        //     stream.pipe(spark);
        // instead of using the 'data' listener
    });
});
</script>
</head>
<body>
<p>hi!</p>
<input type="file" id="myfile">
</body>
</html>