Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

filereader

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

filereader

HTML5 FileAPI `FileReader` for Node.JS.

  • 0.10.3
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

FileReader

HTML5 FileAPI FileReader for Node.JS (could potentially be modified to work with older browsers as well).

See https://github.com/node-file-api/file-api and https://developer.mozilla.org/en-US/docs/Web/API/FileReader

'use strict';

var FileReader = require('filereader')
  , fileReader = new FileReader()
  ;

fileReader.setNodeChunkedEncoding(true || false);
fileReader.readAsDataURL(new File('./files/my-file.txt'));

// non-standard alias of `addEventListener` listening to non-standard `data` event
fileReader.on('data', function (data) {
  console.log("chunkSize:", data.length);
});

// `onload` as listener
fileReader.addEventListener('load', function (ev) {
  console.log("dataUrlSize:", ev.target.result.length);
});

// `onloadend` as property
fileReader.onloadend', function () {
  console.log("Success");
});

Implemented API

  * `.readAsArrayBuffer(<File>)`
  * `.readAsBinaryString(<File>)`
  * `.readAsDataURL(<File>)`
  * `.readAsText(<File>)`
  * `.addEventListener(eventname, callback)`
  * `.removeEventListener(callback)`
  * `.dispatchEvent(eventname)`
  * `.EMPTY = 0`
  * `.LOADING = 1`
  * `.DONE = 2`
  * `.error = undefined`
  * `.readyState = self.EMPTY`
  * `.result = undefined`

Events

  * start
  * progress
  * error
  * load
  * end
  * abort
  * data // non-standard

Event Payload

`end`
```javascript
{ target:
  { nodeBufferResult: <Buffer> // non-standard
  , result: <Buffer|Binary|Text|DataURL>
  }
}

progress

// fs.stat will probably complete before this
// but possibly it will not, hence the check
{ lengthComputable: (!isNaN(file.size)) ? true : false
, loaded: buffers.dataLength
, total: file.size
}

Non-W3C API

  • .on(eventname, callback)
  • .nodeChunkedEncoding = false
  • .setNodeChunkedEncoding(<Boolean>)

Misc Notes on FileReader

FileReader.setNodeChunkedEncoding() is a non-standard method which hints that the FileReader should chunk if possible

I.E. The file will be sent with the header Transfer-Encoding: chunked

The default is false since many webservers do not correctly implement the standard correctly, and hence do not expect or accept Transfer-Encoding: chunked from clients.

FileReader.on is a non-standard alias of addEventListener

EventTarget.target.nodeBufferResult is a non-standard property which is a Node.Buffer instance of the data.

FileReader.on('data', fn) is a non-standard event which passes a Node.Buffer chunk each time the progress event is fired.

Keywords

FAQs

Package last updated on 24 Oct 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc